2011-03-10 125 views
0

最近我一直在閱讀關於RSpec,Shoulda,Cucumber,Test :: Unit,FactoryGirl,Fixtures等等。但是我仍然困惑於他們每個人使用什麼樣的測試。 Model,Controller,View,Helper的測試種類。如何開始測試?

我不知道從哪裏開始。有人可以幫助給我一個「訂購」的方式,我應該開始?例如,我應該學習Test :: Unit,然後RSpec,然後Cucumber?

回答

2

我建議你閱讀'The Art of Unit Testing',羅伊Osherove。我強烈建議你閱讀第1部分和第4部分。

儘管關注單元測試(duh),但有一些解釋清楚的概念幫助我更好地理解測試世界。這不是一本複雜/乏味的書,我喜歡閱讀它,即使沒有任何以前的測試知識。希望你也喜歡它。

Rgds

1

我有同樣的問題:) Rspec用於單元測試。這意味着你可以測試你的模型,控制器甚至是視圖,看看它們是否按照你的意圖執行。

請注意,測試不強制行爲,他們只是測試它。看看這個例子:

describe "A new User" do 
    let(:user) { Factory(:user) } 

    it "is not valid if first_class is not either [Magician, Fighter, Ranger]" do 
     user.first_class = 'warrior' 
     user.should_not be_valid 
    end 
end 

這是使用一個工廠的模型規範(檢查工廠女孩更多),並定義了,如果first_class不高於3之一,是像「勇士」 ,測試應該失敗。你創建這個測試後,您添加到模型驗證:

validates :first_class, :presence => true, :inclusion => %w(Fighter Ranger Magician) 

現在測試通過:)

rspec的檢查後,你應該看看黃瓜這實際上是一個場景測試寶石。在那裏,您可以指定與正則表達式匹配的整個場景。查看來自railscasts.com的非常漂亮的railscast,以獲得對黃瓜非常好的介紹。

希望給你一些見解:)