我正在使用 RSpec 测试一个使用 DataMapper 的 Sinatra 应用程序。
以下代码:
it "should update the item's title" do
lambda do
post "/hello/edit", :params => {
:title => 'goodbye',
:body => 'goodbye world'
}
end.should change(Snippet, :title).from('hello').to('goodbye')
end
导致此错误:
标题最初应该是“hello”,但是是 #<DataMapper::Property::String @model=Snippet @name=:title>
我当然可以通过删除lambda并仅检查是否:
Snippet.first.title.should == 'goodbye'
但这不可能是一个长期的解决方案,因为.first Snippet 在未来可能会不一样。
有人可以告诉我正确的语法吗?
谢谢。