我正在使用rspec和capybara对我们的一些表单路径进行一些测试,但是它是用PHP开发的,所以只需要查找HTML。因此,为了进入下一个过程问题,我必须回答前一个问题表单并单击“按钮”以进入下一部分。我正在为每个人这样做。这是我正在处理的一个例子:
describe 'Fourth Step' do
before do
visit '/thiseffingwebsite'
select 'someAnswer', from: 'someQuestion'
click_button "Continue"
select 'someAnswer2', from: 'someQuestion2'
click_button "Continue"
select 'someAnswer3', from: 'someQuestion3'
click_button "Continue"
end
it "should have certain content" do
some stuff
end
it "should have stuff on next page after clicking Continue" do
fill out form
click_button 'Continue'
stuff on next page should be present
end
end
这将持续12个步骤。我必须将描述块与每个测试的下一步一起放在一起。有什么建议?我调查了'let'但找不到应用它的方法。谢谢。
答案 0 :(得分:2)
如果您只是试图测试服务器是否对某组表单值发送了正确的响应,您可以按照this blog post中的示例进行填写表单,然后检查返回的表单页面有正确的文字。
是的,这违背了Capybara测试的精神,但在您的情况下,您并不关心表单在页面上的工作方式,只会回复正确的响应。