javascript - chai 测试中未按请求调用回调

标签 javascript testing request chai

请求的回调似乎没有被调用,因此测试通过了。我认为这可能与异步调用有关,但我不确定如何解决该问题。

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")                                                                             
  })                                                                                                        
})                                                                                                          

}) 

最佳答案

您忘记将完成回调添加到测试中:

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,而不是直接使用 request: https://www.npmjs.com/package/supertest

关于javascript - chai 测试中未按请求调用回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27846960/

相关文章:

php - 测试以断言选择输入具有特定选项

java - 如何从Android应用程序向服务器设置参数?

spring - 可以在生产中使用RequestContextHolder.currentRequestAttributes()。request吗?

javascript - 需要帮助验证文本框的特定长度和内容

javascript - Angular 7 - 加载外部脚本时使用 setInterval 的替代方法

reactjs - Jest 在 React 中测试异步图像上传

php - 如何获取完整的 URL 以在 Laravel 中显示

javascript - 从多个 HTML 元素获取值

javascript - For循环已初始化但未进入

ruby-on-rails - 设计测试助手 - sign_in 不起作用