当我开始我的Rails应用程序时,我选择RSpec作为我的测试框架,因为所有的炒作。现在,我正在尝试编写更多的测试,并且我发现我不喜欢这样编写测试。我想切换回默认的测试框架。我可以切换Rails应用程序的测试框架吗?
我该怎么做这个开关?我正在使用Rails 3.0.5
当我开始我的Rails应用程序时,我选择RSpec作为我的测试框架,因为所有的炒作。现在,我正在尝试编写更多的测试,并且我发现我不喜欢这样编写测试。我想切换回默认的测试框架。我可以切换Rails应用程序的测试框架吗?
我该怎么做这个开关?我正在使用Rails 3.0.5
不知道你是否知道,但是如果你使用断言而不是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输出强大的命令行工具等
我认识到,不回答这个问题,你”再问一次,但我希望它能帮助你做出决定。
这不是一个任何一种情况。您可以在相同的Rails应用程序中使用RSpec和Test :: Unit测试,因此只需开始编写Test :: Unit测试。无需切换,只需使用Test :: Unit进行新的开发即可。
取决于您如何运行测试,CI设置以及如何修改应用程序,这可能会或多或少地发生变化,但在实践中这些很简单。
中的config/application.rb中
module AppName
class Application < Rails::Application
generate.test_framework :test_unit, :fixture => false # :rspec <- before
...
新型号/控制器生成基本的测试/ *文件
我不知道,谢谢! – Geo 2011-04-01 21:10:50
+1不是问题的答案,而是解决问题。 – 2011-04-01 21:16:24