2011-12-18 104 views
0

我有一个现有的使用Rails 3,Mongoid/Mongodb和Devise构建的Rails应用程序。该应用运行良好。我现在想给它添加一些测试(当然,应该在开始的时候这样做,但是Rails的学习曲线就足够了......)。我将如何使用Rails测试开始“从头开始”?

我已经使用了几个页面,特别是Rails guidethis blog post about Mongo and Cucumber/Rspec。我担心的是,在所有的“添加到这个和这样的文件”,我已经做了尝试,并得到它的工作(事实并非如此),我已经做了这么混乱的事情,以便它可能会更好开始从头开始。随着应用程序的测试部分。

我以为我会删除spectest目录并重新生成测试,但我找不到一个命令来做到这一点(regen)。

我已经建立了一个非常简单的测试(断言真),但我发现:

D:/Dev/TheApp/test/test_helper.rb:10:in `<class:TestCase>': 
undefined method `fixtures' for ActiveSupport::TestCase:Class (NoMethodError) 

我觉得这里真正的问题是,我使用的MongoDB,并在轨测试架构似乎真的很想做ActiveRecord。不确定这两者是否兼容。

有没有一种快速构建准系统测试目录的方法?我的短期解决方案是回滚这些目录。希望有更好的解决方案。

+0

您应该添加的mongodb标签,因为它可能是这个问题的最棘手的部分。 – Eric 2011-12-19 00:24:32

+0

@Eric完成,好点 – jcollum 2011-12-19 00:44:22

+0

你是什么意思“重新测试”?你的意思是当rails生成模型用户时rails产生的样板测试(空的)? – 2011-12-19 02:41:47

回答

0

空白测试真的毫无价值。如果你没有测试/规格的价值,那么就从头开始吧。如果你想重新开始,你应该删除它们并重新开始。

您可以将您的代码视为由Michael Feathers在Working Effectively with Legacy Code中定义的“遗留代码” - 即没有测试的代码。