Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何检查Ajax请求是否在Capybara Rspec中发送?_Jquery_Ruby On Rails_Ajax_Rspec_Capybara - Fatal编程技术网

Jquery 如何检查Ajax请求是否在Capybara Rspec中发送?

Jquery 如何检查Ajax请求是否在Capybara Rspec中发送?,jquery,ruby-on-rails,ajax,rspec,capybara,Jquery,Ruby On Rails,Ajax,Rspec,Capybara,我有一个搜索界面,可以在您键入时进行即时搜索。它被优化为只在需要时发送AJAX请求,所以我想测试它是否正确地发送AJAX请求 如何检查是否发送了Ajax请求?(任何要求都足够了)。。还可以检查Ajax请求是否被中止(在其他测试用例中)如果您使用的是jQuery,请回答您的问题 我很确定,如果不在库代码中进行某种跟踪,就无法通过原始XHR请求实现这一点 作为一个元点,水豚在坚持断言用户可观察的行为时效果最好。您是否可以验证是否出现了特定的搜索结果/建议,而不是检查是否发生了ajax请求?对于Cap

我有一个搜索界面,可以在您键入时进行即时搜索。它被优化为只在需要时发送AJAX请求,所以我想测试它是否正确地发送AJAX请求

如何检查是否发送了Ajax请求?(任何要求都足够了)。。还可以检查Ajax请求是否被中止(在其他测试用例中)

如果您使用的是jQuery,请回答您的问题

我很确定,如果不在库代码中进行某种跟踪,就无法通过原始XHR请求实现这一点


作为一个元点,水豚在坚持断言用户可观察的行为时效果最好。您是否可以验证是否出现了特定的搜索结果/建议,而不是检查是否发生了ajax请求?

对于Capybara,您不会这样做。正如Xavier指出的,水豚专注于模拟用户。用户不知道ajax请求等,他们只看到结果。如果您有一个微调器(或一些其他视觉项目),您可以在请求发生时显示在屏幕上,然后您可以检查是否存在该微调器(因为用户会看到它),或者您可以检查是否显示了正确的结果


相反,如果您试图测试AJAX请求的实际优化行为,那么您可能希望使用类似jasmine/jasmine AJAX的东西来进行JS测试。

我知道jQuery.active,但不知何故它似乎不可靠。本地过滤和AJAX过滤后的结果可能是相同的(AJAX只会在后端验证结果是否正确,但有时这是不必要的)。尽管有好的观点!感谢微调器的想法,我实际上调暗了结果的不透明度,所以我认为它对我有用,让我检查一下!