javascript - 如何测试Nodejs请求回调监听器?

标签 javascript unit-testing jestjs

我使用 jest 进行单元测试。我的代码是

return new Promise((resolve, reject) => {
  let request = http.request(options, resp => {
    resp.setEncoding('utf-8');
    let body = '';
    resp.on('data', chunk => {
      body += chunk
    });
    resp.on('error', error => {
      body += error;
      reject(body, resp);
    });
    resp.on('end', () => {
      this.end(method, resp, url, body, data, opts)
        .then(body => {
          resolve(body, resp);
        })
        .catch(err => {
          reject(err, resp);
        });
    });
  });
  request.end();

我通过jest.fn()使用模拟变量,但它需要EventEmitter对象作为request函数的第二个参数,即 >分别。 调用 request 函数后,end 事件监听器将被调用。 我想执行 dataerror 事件监听器,但我不知道该怎么做。

最佳答案

查看官方Mock functions documentation ,尤其是mock-implementations part 。您还可以找到几个教程,例如 Unit Testing Beginners Guide - Part 3 - Mock Http And Files access在网络上。

关于javascript - 如何测试Nodejs请求回调监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48297139/

相关文章:

javascript - ReactJS PropType 检查关联数组的值

javascript - html5 视频 : once the video is loaded, 出现闪光。如何删除它?

javascript - Jest 覆盖率测试报告的准确性如何? Jest 测试覆盖率是如何计算的?我应该如何分析覆盖率结果?

java - 在java程序中执行phantomjs脚本

javascript - ASP.NET : Get PixelColor on mouse click on asp. 网页

javascript - 开 Jest : Mock function have not been called in mock promise function

asp.net-mvc-3 - 使用 Global.asax 中的代码对自定义 MembershipProvider.ValidateUser 进行单元测试

java - 如果在 jUnit 测试中进行需求验证是否正确

javascript - Jest 模拟内部函数

javascript - 如何测试更改组件状态的函数?