rspec中的测试模型查找器方法

rspec中的测试模型查找器方法,rspec,ruby-on-rails-3.2,Rspec,Ruby On Rails 3.2,Ruby新手正在努力掌握rspec、rails和Cumber 我不确定为什么会返回以下错误: 1) User can be found by username Failure/Error: user.should_not be_valid NoMethodError: undefined method `valid?' for nil:NilClass # ./spec/models/user_spec.rb:26:in `block (2 levels) in <top

Ruby新手正在努力掌握rspec、rails和Cumber

我不确定为什么会返回以下错误:

1) User can be found by username
Failure/Error: user.should_not be_valid
NoMethodError:
    undefined method `valid?' for nil:NilClass
    # ./spec/models/user_spec.rb:26:in `block (2 levels) in <top (required)>'

我相信这很简单,但我想不出来?

在您的
中,让
调用您需要实际“创建”用户。你只是在没有储蓄的情况下建造了它。所以当你打电话的时候

user = User.find_by_username('username')
这将返回
nil
,因为记录未保存且无法找到


另外,
#按用户名查找
是Rails的一部分,您实际上不需要进行测试。

啊,谢谢。我知道我会错过一些简单的东西。
user = User.find_by_username('username')