在rspec中组织期望
我的问题是基于这一点的:同时也基于这些指导原则: 所以,如果每个“it”块只有一个期望值,那么如果我将模拟期望值和价值期望值混合在一起呢 例如:在rspec中组织期望,rspec,Rspec,我的问题是基于这一点的:同时也基于这些指导原则: 所以,如果每个“it”块只有一个期望值,那么如果我将模拟期望值和价值期望值混合在一起呢 例如: describe Foo, "#bar" do before :all do @baz = mock(Baz) @foo = Foo.new(@baz) end it "should call waka on @baz" do @baz.should_receive(:waka) end it "should
describe Foo, "#bar" do
before :all do
@baz = mock(Baz)
@foo = Foo.new(@baz)
end
it "should call waka on @baz" do
@baz.should_receive(:waka)
end
it "should not be empty afterwards" do
@foo.should_not be_empty
end
it "should not raise exceptions" do
lambda {@foo.bar}.should_not raise_exception # potentially with side effects?
end
after :all do
@foo.bar # won't work with the second expectation
end
end
我希望问题是清楚的。有没有人有组织本案例规范的经验?我犯了什么错误吗?每个小组的一个期望是一个建议,而不是一个硬性规定。您不应该为了遵从它而发疯(在这种情况下,我认为使用
after:all
块有点发疯)
我还摆脱了before:all
,仅仅使用before:each
-:all有时会导致混乱的状态错误
describe Foo, "#bar" do
before do
@baz = mock(Baz)
@foo = Foo.new(@baz)
end
it "should call waka on @baz" do
@baz.should_receive(:waka)
@foo.bar
end
it "should not be empty afterwards" do
@foo.bar
@foo.should_not be_empty
end
it "should not raise exceptions" do
lambda { @foo.bar }.should_not raise_exception
end
end
事实上,你仍然只为每个小组设定一个期望值。每个小组设定一个期望值是一个建议,而不是一个硬性规定。您不应该为了遵从它而发疯(在这种情况下,我认为使用
after:all
块有点发疯)
我还摆脱了before:all
,仅仅使用before:each
-:all有时会导致混乱的状态错误
describe Foo, "#bar" do
before do
@baz = mock(Baz)
@foo = Foo.new(@baz)
end
it "should call waka on @baz" do
@baz.should_receive(:waka)
@foo.bar
end
it "should not be empty afterwards" do
@foo.bar
@foo.should_not be_empty
end
it "should not raise exceptions" do
lambda { @foo.bar }.should_not raise_exception
end
end
事实上,你仍然只为每个小组设定了一个期望值