2013-04-10 33 views
1

測試和Rspec對我來說是新的。目前,我正在與Shoulda和Capybara一起使用Rspec來測試我的應用程序。測試模型,控制器,幫助器,路由和請求都很好。但是,我應該在視圖中完全測試什麼?其實我想用包括DOM在內的視圖來測試所有東西,但我也不想過度使用東西。我應該在視圖中測試什麼?

回答

3

這三樣東西是一個很好的起點

  1. 使用水豚去開始在你的網站的根目錄,並將它點擊鏈接和任何直到它到達你想要測試的視圖。

  2. 請確定頁面上應該顯示的內容是什麼,實際上是在頁面上顯示的。所以,如果他們'用戶'去了產品1頁面,請確保所有的內容都在其中。

  3. 如果不同的用戶看到不同的內容,請確保它正常工作。因此,如果管理員用戶看到管理員類型的按鈕,請確保這些按鈕是用戶是管理員時的按鈕,而不是當用戶不是時。

這3件事情是一個很好的基礎。即使是第一個也是一個很大的勝利。這將捕捉任何您可能意外引入的奇怪視圖語法錯誤,因爲語法錯誤將會通過測試。

1

在我的工作中,我們只使用RSpec進行單元測試。

對於業務測試或行爲測試,我們使用的Cucumber對商業和IT人員來說更具可讀性。 這就像是您與您的企業簽約的合同,或者就像您可以執行的文檔一樣。

看一看黃瓜:http://cukes.info/

+1

我第二個黃瓜。我也一起使用水豚。 – 2013-04-10 17:16:47

+1

黃瓜是我可以用來測試視圖的另一種選擇。但是我要求的是「我應該怎樣在視圖中完全測試?」。 – 2013-04-10 18:06:51

1

我用查看規格驗證視圖使用我在jQuery代碼取決於ID和班級。

並測試相同頁面的不同版本。例如:

我不想創建兩個完整的請求或功能規格來檢查新用戶看到welcome message A和返回用戶welcome message B。相反,我會選擇其中一種情況,爲其編寫一個請求或功能規範,然後添加一個測試這兩種情況的附加視圖規範。

Rails Test Prescriptions可能對你很有意思,因爲它有一個專門用於查看測試的章節。