2011-04-01 95 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 

    ... 

新型號/控制器生成基本的測試/ *文件

相關問題