Javascript 这个.timeout()在mocha测试中做什么?

Javascript 这个.timeout()在mocha测试中做什么?,javascript,node.js,mocha.js,Javascript,Node.js,Mocha.js,我是javascript新手,我想知道this.timeout()在这个mocha测试中做了什么 it('TestConnect',异步函数(){ 这是超时(40000); }); 考虑以下示例: describe('a suite of tests', function() { this.timeout(500); it('should take less than 500ms', function(done) { setTimeout(done, 600); // fail

我是javascript新手,我想知道
this.timeout()
在这个mocha测试中做了什么

it('TestConnect',异步函数(){
这是超时(40000);
});

考虑以下示例:

describe('a suite of tests', function() {
  this.timeout(500);

  it('should take less than 500ms', function(done) {
    setTimeout(done, 600); // fails
  });

  it('should take less than 500ms as well', function(done) {
    setTimeout(done, 250); // passes
  });
});
我已经研究过了,它说了如何设置超时,但没有解释什么是超时。程序是在指定的秒数后退出,还是在执行前等待指定的秒数


程序不一定退出,但上面的(示例)套件失败。
timeout
参数仅表示在该套件中进行测试,或在超时期间必须调用
done
的特定测试,否则测试将失败。

考虑以下示例:

describe('a suite of tests', function() {
  this.timeout(500);

  it('should take less than 500ms', function(done) {
    setTimeout(done, 600); // fails
  });

  it('should take less than 500ms as well', function(done) {
    setTimeout(done, 250); // passes
  });
});
我已经研究过了,它说了如何设置超时,但没有解释什么是超时。程序是在指定的秒数后退出,还是在执行前等待指定的秒数


程序不一定退出,但上面的(示例)套件失败。
timeout
参数仅表示在该套件中进行测试,或在超时时间内必须调用
done
的特定测试,否则测试将失败。

在摩卡,timeout是测试将等待
done
的最长时间,然后将测试设置为失败

因此,例如,您的
超时时间是5000(5秒),并且代码有一个循环,该循环花费7秒来迭代所有对象。然后,即使数据正常,测试也会失败,因为超时是在调用
done()
之前触发的

“是真的”并不是一个很好的解释,但其定义如下:

设置超时阈值


阈值是您决定测试失败的时间。

在摩卡咖啡中,超时是测试在设置测试失败之前等待
完成的最长时间

因此,例如,您的
超时时间是5000(5秒),并且代码有一个循环,该循环花费7秒来迭代所有对象。然后,即使数据正常,测试也会失败,因为超时是在调用
done()
之前触发的

“是真的”并不是一个很好的解释,但其定义如下:

设置超时阈值


Threshold是您决定测试失败的时间。

@njuguunaureIti感谢您的分享,我已经研究过了,它说明了如何设置超时,但没有解释什么是超时。程序是在指定的秒数后退出还是在执行前等待指定的秒数?@njuguunaureIti感谢分享,我已经研究过了,它说明了如何设置超时,但没有解释什么是超时。程序是在指定的秒数后退出,还是在执行前等待指定的秒数?