我有一个情景测试:
scenario 'displays the form' do
# Build the setup for user coming from an external site.
expect(page).to have_selector('#braintree-dropin-frame', count: 1)
# User reloads the page
expect(page).to have_selector('#braintree-dropin-frame', count: 1)
# User visits page from within the website.
expect(page).to have_selector('#braintree-dropin-frame', count: 1)
end
首先,这是场景测试的正确用法吗?我基本上测试同样的东西,但在不同的场景中。我觉得这应该是一个上下文块中的三个单独的场景测试。我误用了scenario
吗?
答案 0 :(得分:1)
如果这不是一个用户流,那么它们应该是单独的功能/方案。在您已经检查过的测试中多次设置对同一选择器的期望时,您还需要小心(如果您再次检查它再次出现),否则您最终可能会在测试时通过由于时间和异步行为问题,不应该这样做。
此外 - 由于您正在检查CSS选择器,您可能希望使用have_css
而不是have_selector
,因为它读取更好并且意味着如果默认选择器类型,测试仍然有效永远改变自:css