我有两个测试目录。单元测试和集成测试。两者都使用摩卡。
单位测试平均在1-5毫秒之间运行。不幸的是,我们的集成测其中一些长达30秒。
我想知道是否可以仅将测试/集成目录的超时设置为30秒,但是使用mocha.opts文件中的默认mocha超时(2秒)保留测试/单元。或者可能有多个mocha.opts文件。
答案 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。