Aut*_*33k 2 ruby testing hook rspec
有没有办法在使用标签的特定测试之后/之前运行after/before块?
我有3 it个街区
describe "describe" do
it "test1" do
end
it "test2" do
end
after(<<what goes here??>>) do
end
end
Run Code Online (Sandbox Code Playgroud)
如何在test2之后运行after块?那可能吗?
您应该使用contexts来执行此操作.就像是:
describe "describe" do
context 'logged in' do
before(:each) do
# thing that happens in logged in context
end
after(:each) do
# thing that happens in logged in context
end
it "test1" do
end
end
context 'not logged in' do
# No before/after hooks here. Just beautiful test isolation
it "test2" do
end
end
end
Run Code Online (Sandbox Code Playgroud)
在块之前/之后具有if/else条件是代码气味.不要这样做.它只会使你的测试变得脆弱,容易出错并且很难改变.