我正在运行一个简单的测试,它通过POST提交表单,在手动测试时可以正常运行,但我的测试失败并显示错误
No route matches [GET] "/doconfirm" (ActionController::RoutingError)
路线在我的路线档案中定义为仅发布
post '/doconfirm' => 'application#do_confirm', :as => :do_confirm
当我查看测试中的html输出时,它包含一个帖子表单:
<form action="/doconfirm" accept-charset="UTF-8" method="post">
<input name="utf8" type="hidden" value="✓">
<div class="email-field input-field">
<input type="email" name="email" id="email" required="required">
<label for="email">email</label>
</div>
<button name="button" type="submit" value="register">register</button>
</form>
我使用恶作剧驱动程序运行Rails 4.2.0,Cucumber 1.3.20,Cucumber Rails 1.4.2,Capybara 2.4.4。
为什么我的测试尝试通过GET提交表单而不是POST?有解决方法吗?