摩卡单元测试:超时后如何强制停止执行测试?

问题描述 投票:1回答:1

我正在使用mocha运行单元测试,我想强制超时,如果函数超过30000,所以我设置了this.timeout(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();         
  })


javascript unit-testing mocha chai
1个回答
1
投票
  1. async运行那些可能需要很长时间的函数。
  2. 增加退出标志,当测试结束后,即使异步函数还在运行,mocha也会终止进程。例如:mocha \"test***.js" --exit
© www.soinside.com 2019 - 2024. All rights reserved.