【发布时间】:2025-11-21 10:35:02
【问题描述】:
在开发和测试环境中,我们并没有真正看到任何格式错误的 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、无效的查询字符串等的最佳方法是什么?
【问题讨论】:
标签: ruby-on-rails rspec capybara