在VueJs Web应用程序中,我们使用vue-test-utils和mocha-webpack编写了500多个单元测试用例(在所有模块中),并使用nyc进行了覆盖率报告。 考虑一个目录中的每个模块。当我为特定模块运行测试用例时,报告会成功生成测试用例结果(通过或失败)。但是一次性运行所有测试用例(通过在package.json中设置路径),所有测试用例均不会执行,并引发以下错误:
超时超过100000ms。对于异步测试和挂钩,请确保调用了“ done()”;如果返回承诺,请确保其解决。
我已经看到类似的问题,这些问题建议在代码中使用异步等待或增加超时来解决此问题,但是为什么我在为特定模块运行时会执行测试用例,而在为整个项目运行时会引发错误? / p>
我尝试在package.json中设置--timeout 100000,这对于大量的测试用例很有帮助,但是当再次运行所有(超过500个)单元测试用例时,它会抛出相同的错误。 我认为这与测试用例的数量有关。
是什么原因导致此问题,以及如何解决此问题,以便所有测试用例都能成功运行??
修改 如果单元测试中的任何代码导致此超时问题,则如何检测哪个测试用例导致此问题,因为似乎无法通过查看命令提示符中的日志来检测问题的根源。任何指针都会有所帮助。
答案 0 :(得分:1)
尝试了许多决议后,得出一个结论,解决了上述问题:
let wrapper;
before(() => {
wrapper = mount('component_name', {
...
})
});
after(() => {
wrapper.destroy();
});