我正在测试我的模型。
我有以下测试:
it "....." do
perm = FactoryGirl.create(:permission)
new_permission = perm.dup
new_permission.valid?.should be_false
end
此测试通过。但如果我把它改为:
expect { new_permission.valid? }.to be_false
为什么?
我收到以下错误:
Failure/Error: expect{new_permission.valid?}.to be_false
expected: false value
got: #<Proc:0x007f9d20298258@/Users/..../Desktop/Projects/.../spec/models/permission_spec.rb:16>
有什么想法吗?
答案 0 :(得分:3)
而不是
expect { new_permission.valid? }.to be_false
使用
expect(new_permission.valid?).to be_false
块形式可用于期望和屈服。您可以阅读有关the difference between should
and expect
in the docs的更多信息。