我可以为每个目录设置mocha超时吗?

时间:2017-04-06 14:46:04

标签: mocha

我有两个测试目录。单元测试和集成测试。两者都使用摩卡。

单位测试平均在1-5毫秒之间运行。不幸的是,我们的集成测其中一些长达30秒。

我想知道是否可以仅将测试/集成目录的超时设置为30秒,但是使用mocha.opts文件中的默认mocha超时(2秒)保留测试/单元。或者可能有多个mocha.opts文件。

1 个答案:

答案 0 :(得分:0)

对于单次调用Mocha,不支持多个mocha.opts个文件处于活动状态。但是,你可以有两个Mocha调用,每个调用都有自己的mocha.opts

如果你想在一个Mocha调用中想要一切,并为套件的不同部分设置不同的超时,那么就没有直接告诉Mocha“这个目录中的文件有一个超时,而另一个目录中的文件有另一个超时” 。您只能在回调中调用this.timeout,如下所示:

describe("User view", function () {
  this.timeout(...);

  // Tests....
});

如果您构建套件以便Mocha将所有集成测试视为单个顶级describe的后代,则可以仅在一个位置(顶部describe)中有效地设置此超时所有集成测试。有关如何以这种方式构建套件的方法,请参阅this question and its answers