我手动添加了单元测试来测试我正在构建的库。我有一些在他们相应的模型中测试没有任何问题的灯具。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