在 chai 测试中未由请求调用回调

Callback not called by request in chai tests

本文关键字:请求 调用 回调 chai 测试      更新时间:2023-09-26
请求

的回调似乎没有被调用,测试结果通过。我认为这可能与它是异步调用有关,但我不确定如何解决这个问题。

var expect = require('chai').expect                                              
var request = require('request'); 
describe('Test http', function(){                                                                             
it('get', function(){                                                        
  request('http://www.google.com', function (error, response, body) {                                       
    throw new Error("test get")                                                                             
  })                                                                                                        
})                                                                                                          
}) 

你忘了在测试中添加done-Callback:

var expect = require('chai').expect                                              
var request = require('request'); 
describe('Test http', function(){                                                                             
    it('get', function(done){                                                        
      request('http://www.google.com', function (error, response, body) {                                       
        throw new Error("test get")
        done();                                                                             
      })                                                                                                        
    })                                                                                                          
}) 

编辑:如果没有回调,node/mocha 将假定测试已经完成并停止,然后再解析结果。

另外,我可以建议使用supertest,而不是直接使用请求:https://www.npmjs.com/package/supertest