我手動添加了單元測試來測試我正在構建的庫。我有一些在他們相應的模型中測試沒有任何問題的燈具。Rails3:單元測試庫不會加載燈具
該測試用例繼承自運行fixtures :all
的ActiveSupport :: TestCase。
require 'test_helper'
require 'mylib'
class MyLibTest < ActiveSupport::TestCase
@user = User.find(1)
test "Setup" do
assert_equal(@user.id, 1)
end
end
即使user = User.find(1)
在每一個測試實際上是一個優良樣板工程,這個試驗引發了一個異常:/Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/relation/finder_methods.rb:287:in 'find_one': Couldn't find User with ID=1 (ActiveRecord::RecordNotFound)
我曾嘗試移動fixtures :all
到MyLibTest級(在另一篇文章建議),但沒有區別。
如何讓我的測試工作?
編輯
我發現了什麼是錯誤的,這是不是在所有相關的燈具。我想在幾個測試用例中使用相同的用戶對象,所以我在類中添加了@user = User.find ,但不在測試用例內。當我意識到這一點並嘗試將其放入測試用例時,一切都奏效了。尷尬:)
嗨,「fixtures:all」在test_helper.rb中,並且yes id在用戶燈具上設置。真正奇怪的是,User.find(1)在user_test.rb中有效,但在my_lib_test.rb中不起作用。 User.first返回nil。 – Christoffer 2010-08-19 04:54:48
那麼,我發現了什麼是錯的。感謝您花時間幫助:) – Christoffer 2010-08-19 05:04:28