TIMEOUTS

测试集合超时:

在测试集合上定义超时时间,会对这个测试集合中所有的测试用例和测试集合起作用。我们可以通过this.timeout(0)来关闭超时判断的功能。而且在测试用例和测试集合上定义的超时时间会覆盖外围的测试集合的设置。

  1. describe('a suite of tests', function() {
  2. this.timeout(500);
  3. it('should take less than 500ms', function(done){
  4. setTimeout(done, 300);
  5. });
  6. it('should take less than 500ms as well', function(done){
  7. setTimeout(done, 250);
  8. });
  9. })

测试用例超时:

我们也可以给测试用例定义超时时间,或者通过this.timeout(0)来禁止超时时间的判断。

  1. it('should take less than 500ms', function(done){
  2. this.timeout(500);
  3. setTimeout(done, 300);
  4. });

钩子函数超时:

也可以给钩子函数设定超时时间,同样也可以使用this.timeout(0)来禁止掉超时时间的判断。

  1. describe('a suite of tests', function() {
  2. beforeEach(function(done) {
  3. this.timeout(3000); // A very long environment setup.
  4. setTimeout(done, 2500);
  5. });
  6. });

在Mocha v3.0.0版本及以上,如果设定的超时时间比最大延迟时间的值大,那么也会被认为是禁止掉超时时间的判断。