我知道这可以通过捕获可选组来使用 cucumber(请参阅此处的提示 3),并且我在萝卜中使用它,但我不喜欢这个解决方案。
我试图消除只是彼此正面/负面的多个步骤。
因此,而不是像这样的 2 个步骤:
step "I should see :content in the footer" do |content|
within(".footer-main") do
page.should(have_selector("h3", text: content))
end
end
step "I should not see :content in the footer" do |content|
within(".footer-main") do
page.should_not(have_selector("h3", text: content))
end
end
我可以做这个:
step "I should :not_text see :content in the footer" do |not_text, content|
within(".footer-main") do
not_text.blank? ? page.should(have_selector("h3", text: content)) : page.should_not(have_selector("h3", text: content))
end
end
这很好用,但我真正不喜欢的是我必须在积极的情况下放空括号,如下所示:
Scenario: User should see Company in the footer
When I visit the "root page"
Then I should "" see "Company" in the footer
有一个更好的方法吗?