我手动添加了一个单元测试来测试我正在构建的库。我有一些灯具在相应的型号中进行测试,没有任何问题。
测试用例继承自运行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 = User.find ,但不在测试用例中。当我意识到这一点并尝试将其放入测试用例时,一切正常。尴尬:)
答案 0 :(得分:0)
如果没有看到你的Fixtures文件是如何设置的,我不能确定到底是什么,但试试这些:
希望这有帮助。