2011-02-06 48 views
5

我可能失去了一些東西,但我被困在這種情況下:Ruby on Rails的:單元測試ActiveRecord的非型號和仍然加載夾具

我有一個非ActiveRecord的模式,我想測試。我已經從其中得到了它的測試用例類:Test :: Unit :: TestCase

但是,模型的測試用例類在其自身內部使用了其他activerecord模型類,我想爲它們加載fixture。我的問題是,燈具類方法只適用於當我繼承從的ActiveSupport :: TestCase的(它在其中被列入的ActiveSupport :: TestCase的的ActiveRecord :: TestFixtures定義)測試用例類。

任何幫助,因爲運行測試給我的錯誤:未定義的方法「燈具」(這是可以理解的),以及我從ActiveSupport :: TestCase派生我的測試用例類它抱怨沒有相應的數據庫表。此外,我不想創建一個虛擬表來支持我的模型類。

謝謝!

回答

4

您可以使用ActiveSupport::TestCase,但不要使用ActiveRecord類的類(an example - 但該項目不使用燈具),所以其他內容必須導致此問題。它必須是關於你如何使用燈具或你的燈具配置。也許,偶然的情況下,你是否有一個你正試圖測試的非AR模型的夾具文件?

+1

謝謝!實際上,我將test_helper中的fixtures(:all)部分註釋掉了,然後明確聲明瞭我想要加載到非AR模型的測試類中的燈具,現在它可以工作。由於fixtures(:all)它試圖連接到一個不在那裏的相應數據庫表,因此拋出了一個錯誤。 – 2011-02-06 13:16:11