2011-04-01 98 views
3

当我开始我的Rails应用程序时,我选择RSpec作为我的测试框架,因为所有的炒作。现在,我正在尝试编写更多的测试,并且我发现我不喜欢这样编写测试。我想切换回默认的测试框架。我可以切换Rails应用程序的测试框架吗?

我该怎么做这个开关?我正在使用Rails 3.0.5

回答

21

不知道你是否知道,但是如果你使用断言而不是rspec-expectations(obj.should matcher),你可以在没有任何额外配置的情况下做到这一点,那么唯一的区别是这个:

# w/ Test::Unit 
class FooControllerTest < ActionController::TestCase 
    test "something or other" do 
    ... 
    end 
end 

# w/ RSpec 
describe FooController do 
    it "does something or other" do 
    ... 
    end 
end 

你可以使用Test :: Unit in Rails编写的其他东西,你可以使用RSpec完全相同的方式编写。

然后你得到所有的RSpec的非语法相关的优惠,如可读的输出,用自己-help输出强大的命令行工具等

我认识到,不回答这个问题,你”再问一次,但我希望它能帮助你做出决定。

+0

我不知道,谢谢! – Geo 2011-04-01 21:10:50

+0

+1不是问题的答案,而是解决问题。 – 2011-04-01 21:16:24

2

这不是一个任何一种情况。您可以在相同的Rails应用程序中使用RSpec和Test :: Unit测试,因此只需开始编写Test :: Unit测试。无需切换,只需使用Test :: Unit进行新的开发即可。

取决于您如何运行测试,CI设置以及如何修改应用程序,这可能会或多或少地发生变化,但在实践中这些很简单。

0

中的config/application.rb中

module AppName 
    class Application < Rails::Application 

    generate.test_framework :test_unit, :fixture => false # :rspec <- before 

    ... 

新型号/控制器生成基本的测试/ *文件

相关问题