2012-12-21 61 views
1

我還是個新手,但是我經歷了Michael Hartl的書(超級肝,btw)。我是否需要測試我正在使用的Ruby Gems(Devise)的功能?

但是,我開始使用Devise(也超級有用),我有一個關於rspec測試的問題。在Hartl的書中,有所有這些用戶驗證的測試,比如電子郵件的唯一性,或者是否用有效屬性創建用戶。

像這樣簡單的測試需要如果我使用設計?

我問的部分原因是我不知道如何編寫測試,即使我知道他們正在工作。一般來說,你需要測試寶石,看看他們的內部功能是否正常工作?或者我可以假設這會起作用,只能測試用戶是否可以創建並登錄並完成它?

我確實測試了我可以如何測試我是否被重定向,但這看起來更像是測試我創建的規則是正確的。測試Devise的內部功能似乎過度?

回答

5

我會考慮測試設計的內部功能是過度的。但是,如果您對設計進行更改(視圖,控制器或驗證),那麼測試您的更改將是適當的。

我也一直有要求/驗收測試,測試我的應用程序的登錄/註冊部分。

你還問:

一般來說你需要測試寶石,看看其內部功能的工作?

不,這通常沒有完成。我喜歡尋找的東西:在gem的github或網頁上,他們是否鏈接到TravisCI--你可以看到他們目前的測試套件是否工作。一般來說,測試你的水平,而不是下面。例如,不要測試Rails的工作原理,只需使用Rails。

+1

謝謝!我沒有真正想到這一點。用我的邏輯,我需要在Rspec上運行Rails測試來確保Rspec正常工作。 – dewyze

相關問題