用于测试出站客户端请求的 Mocha 框架

Mocha framework to test outbound client request

我的用例:

实施自动化测试以在浏览器中打开页面后捕获入站客户端请求。例如,使用少量参数打开 http://foo.com that later makes beacon call to http://bar.com

问题: 如何测试foo.com是否发起了对bar.com的调用?摩卡可以这样做吗?

回答我自己的问题。

我找到了一种使用 phantomjs 捕获页面发出的所有请求的方法,它有一个名为 phantom (https://www.npmjs.com/package/phantom) 的节点模块,可以打开一个页面,监听器会提供所有请求的资源。

示例 javascript 代码,

var phantom = require('phantom');

phantom.create(function (ph) {
  ph.createPage(function (page) {
    
    page.open("http://ramcountry.yahoo.com", function (status) {
      console.log("opened site? ", status);
    });
    
    page.set('onResourceRequested', function(requestData, networkRequest) {
      console.log("requested: ", requestData.url);
    });
    
    page.set('onResourceReceived', function(requestData, networkRequest) {
      console.log("received: ", requestData.url);
    });
    
  });
});

Mocha(按设计)不提供此类功能,但可以与其他工具集成(如您在其他答案中所述)以提供测试优势。但是您的回答没有显示任何测试,所以我将在这里放置一些专门用于测试的框架: