【发布时间】:2013-05-11 14:30:47
【问题描述】:
使用 RSpec 编写测试有 2 种语法 (afaik):
经典/旧方式:
describe "when user_id is not present" do
before { @micropost.user_id = nil }
it "should not be valid" do
@micropost.should_not be_valid
end
end
失败时会出现此错误:
rspec ./spec/models/micropost_spec.rb:19 # 当user_id为微博时 不存在应该是无效的
还有简短的语法:
describe "when user_id is not present" do
before { @micropost.user_id = nil }
it { should_not be_valid }
end
失败时会出现此错误:
rspec ./spec/models/micropost_spec.rb:18 # 当user_id为微博时 不存在
最后一个缺少“不应有效”部分。
有什么办法可以得到完整的测试失败消息,也许是我不知道的标志?
注意:无论如何,更完整的错误消息仍然存在:
1) Micropost when user_id is not present
Failure/Error: it { should_not be_valid }
expected #<Micropost id: nil, content: "Lorem ipsum", user_id: nil, created_at: nil, updated_at: nil> not to be valid
# ./spec/models/micropost_spec.rb:18:in `block (3 levels) in <top (required)>'
但最后的回顾并不完整。
【问题讨论】:
标签: ruby rspec tdd rspec-rails ruby-on-rails-4