为什么会出现此错误?怎么解决?
1) User should exist
Failure/Error: User.should be_valid
NoMethodError:
undefined method `valid?' for #<Class:0x94b626c>
测试是:
require 'spec_helper'
describe User do
it "should exist" do
User.should be_valid
end
it "should not allow me to create a new user without required fields" do
User.new(:email => 'bob').should_not be_valid
end
end
第二次测试运行正常,我怎样才能让第一个测试通过?我只想检查模型是否存在
答案 0 :(得分:1)
测试一个类隐式测试它是否存在。如果该类不存在,则两个代码示例都将出错。第一个是不必要的。
答案 1 :(得分:0)
在第一次测试中将User.should be_valid
替换为User.new.should be_valid
。 RSpec在User类上调用valid?
而不是它的实例。