我在您输入时有一个带即时搜索的搜索界面。它被优化为仅在需要时发送AJAX请求,因此我想测试它是否正确执行。
如何检查Ajax请求是否已发送? (任何请求都足够好了)..也可以检查Ajax请求是否被中止(在其他测试用例中)
答案 0 :(得分:3)
对于Capybara,你不会。正如Xavier所指出的,Capybara专注于模仿用户。用户不知道ajax请求等,他们只看到结果。如果您有一个微调器(或其他可视项目),您在发出请求时会在屏幕上显示,那么您可以检查它是否存在(因为用户会看到它),或者您可以检查是否显示了正确的结果。
如果您正在尝试测试AJAX请求的实际优化行为,那么您可能希望使用jasmine / jasmine-ajax等来查看JS测试。
答案 1 :(得分:2)
如果你正在使用jQuery,jQuery.active function会回答你的问题。
我很确定没有办法在原始XHR请求中使用原始XHR请求,而不需要在库代码中进行某种跟踪。
作为一个元素点,当你坚持主张用户可观察的行为时,水豚的效果最好。您是否可以验证是否出现了特定的搜索结果/建议,而不是检查是否发生了ajax请求?