登录用户可以访问资源,并可以通过不同方式访问该资源。我想要一个示例组,每个测试都有相同的期望。
我在page.should have_content("...")
块中放置了after(:each)
期望值,但这不是一个好的解决方案:如果我声明它处于挂起状态,它无论如何都会失败。如果失败,则错误显示(起初)为白色。
我应该如何编写每个具有相同期望的示例组?
答案 0 :(得分:0)
听起来你想要一个共享的示例组:
describe 'foo' do
shared_examples "bar" do
it 'should ...' do
end
end
context "when viewing in the first way" do
before(:each) do
...
end
it_behaves_like 'bar'
end
context "when viewing in the second way" do
before(:each) do
...
end
it_behaves_like 'bar'
end
end
在前面的块中,您可以设置内容,以便以正确的方式取出操作。另一种方法是让您的共享示例调用do_foo
方法,并在每个上下文中提供do_foo
的不同实现。
如果您要共享的内容是设置内容,您也可以拥有共享上下文。