我正在尝试通过使用水豚来验证页面的响应代码。我将Expect语句用作-
expect(page.status_code).to eq(404)
我得到的错误是-
Capybara::NotSupportedByDriverError:
Capybara::Driver::Base#status_code
可能是Capybara不支持status_code。还有其他方法可以验证状态/响应代码,或者我在Expect语句中做错了事。
答案 0 :(得分:2)
Selenium驱动程序不支持status_code,因为它不是真正应该在功能/系统测试中测试的东西。功能/系统测试(Capybara的目标)的想法是从用户角度进行测试。由于用户关心浏览器中显示的内容,因此应该测试的内容而不是状态代码。如果您仍然想测试状态码,则应在请求规范中完成,而不是在功能/系统规范中完成