2011-12-18 93 views
0

我有一個現有的使用Rails 3,Mongoid/Mongodb和Devise構建的Rails應用程序。該應用運行良好。我現在想給它添加一些測試(當然,應該在開始的時候這樣做,但是Rails的學習曲線就足夠了......)。我將如何使用Rails測試開始「從頭開始」?

我已經使用了幾個頁面,特別是Rails guidethis blog post about Mongo and Cucumber/Rspec。我擔心的是,在所有的「添加到這個和這樣的文件」,我已經做了嘗試,並得到它的工作(事實並非如此),我已經做了這麼混亂的事情,以便它可能會更好開始從頭開始。隨着應用程序的測試部分。

我以爲我會刪除spectest目錄並重新生成測試,但我找不到一個命令來做到這一點(regen)。

我已經建立了一個非常簡單的測試(斷言真),但我發現:

D:/Dev/TheApp/test/test_helper.rb:10:in `<class:TestCase>': 
undefined method `fixtures' for ActiveSupport::TestCase:Class (NoMethodError) 

我覺得這裏真正的問題是,我使用的MongoDB,並在軌測試架構似乎真的很想做ActiveRecord。不確定這兩者是否兼容。

有沒有一種快速構建準系統測試目錄的方法?我的短期解決方案是回滾這些目錄。希望有更好的解決方案。

+0

您應該添加的mongodb標籤,因爲它可能是這個問題的最棘手的部分。 – Eric 2011-12-19 00:24:32

+0

@Eric完成,好點 – jcollum 2011-12-19 00:44:22

+0

你是什麼意思「重新測試」?你的意思是當rails生成模型用戶時rails產生的樣板測試(空的)? – 2011-12-19 02:41:47

回答

0

空白測試真的毫無價值。如果你沒有測試/規格的價值,那麼就從頭開始吧。如果你想重新開始,你應該刪除它們並重新開始。

您可以將您的代碼視爲由Michael Feathers在Working Effectively with Legacy Code中定義的「遺留代碼」 - 即沒有測試的代碼。