在开发和测试环境中,我们实际上并没有看到任何格式错误的URL,但是在现实世界中,应用程序经常会被编写不当的爬网程序,尝试SQL注入攻击的人们访问应用程序等。向应用程序请求格式错误的URL (未转义的标点符号等)。
我发现从格式错误的URL请求我的网站正在发痒,因此我去修复了该错误并为其编写了测试。这是一个测试示例:
scenario "with a garbage URL" do
visit "/<<"
# my actual expectation is irrelevant to this question
expect(some_result).to have_happened
end
这里的问题是visit "/<<"
在测试工具中抛出异常 ,并且我的应用程序从未受到攻击,因为Capybara会拒绝访问格式错误的URL。
那么,测试我的应用程序是否正确响应测试工具不会生成的格式错误的URL,无效查询字符串等的最佳方法是什么?