Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Javascript Mocha单元测试:超过超时后如何强制停止测试执行_Javascript_Unit Testing_Mocha.js_Chai - Fatal编程技术网

Javascript Mocha单元测试:超过超时后如何强制停止测试执行

Javascript Mocha单元测试:超过超时后如何强制停止测试执行,javascript,unit-testing,mocha.js,chai,Javascript,Unit Testing,Mocha.js,Chai,我正在使用mocha运行单元测试,如果函数超过30000,我想强制超时,所以我设置了这个。超时(30000) 为了验证它的工作,我在测试用例中放入了无限循环,即使超时超过测试也不会返回。我希望此测试在超时后停止执行 这是测试 it('should forcefully timeout',function(done) { this.timeout(30000); while(1) { for(var i = 0; i < 10000; i++) {

我正在使用mocha运行单元测试,如果函数超过30000,我想强制超时,所以我设置了这个。超时(30000)

为了验证它的工作,我在测试用例中放入了无限循环,即使超时超过测试也不会返回。我希望此测试在超时后停止执行

这是测试

    it('should forcefully timeout',function(done) {
    this.timeout(30000);
     while(1) {
        for(var i = 0; i < 10000; i++) {
            if( i % 2 == 0 ) {
                console.log("here");
                for(var i=0; i < 10000; i++) {
                    if( i % 2 == 0 ) {
                        console.log("here1");  
                    }
                }
            }
        }

      }
      done();         
  })


it('应该强制超时',函数(完成){
这是超时(30000);
而(1){
对于(变量i=0;i<10000;i++){
如果(i%2==0){
console.log(“此处”);
对于(变量i=0;i<10000;i++){
如果(i%2==0){
控制台日志(“此处1”);
}
}
}
}
}
完成();
})
  • 异步运行那些可能需要很长时间的函数
  • 添加退出标志,当测试完成时,即使异步函数仍在运行,mocha也会终止进程。例如:摩卡\“测试/***/.js \”-退出

  • 如果删除
    done
    回调怎么办?如果尝试删除done,则无法解决问题