ath*_*hap 11 rspec shoulda ruby-on-rails-3
我试图找出另一种写应该改变计数测试的方法(没有lambda).我正在使用Rails 3.我也在使用shoulda matcher gem
原因 - 所有测试用例都采用格式
describe "some stuff" do
it { should ... }
end
Run Code Online (Sandbox Code Playgroud)
但我无法按照相同的模式来测试应该更改计数
这就是我所拥有的
describe "some stuff" do
it "should change count by one" do
lambda { ... }.should change(Model, :count).by(1)
end
end
Run Code Online (Sandbox Code Playgroud)
有没有办法写它
describe "some stuff" do
it { should change(Model, :count).by(1) }
end
Run Code Online (Sandbox Code Playgroud)
非常感谢 !!
meg*_*gas 30
subject { lambda { ... } }
it { should change(Model, :count).by(1) }
Run Code Online (Sandbox Code Playgroud)
您还可以使用expect语法:
describe "some stuff" do
expect { ... }.to change(Model, :count).by(1)
end
Run Code Online (Sandbox Code Playgroud)