Node.js 导致此问题的原因是什么;超过10000毫秒的超时时间。对于异步测试和挂钩,请确保;完成();被称为&引用;

Node.js 导致此问题的原因是什么;超过10000毫秒的超时时间。对于异步测试和挂钩,请确保;完成();被称为&引用;,node.js,unit-testing,mocha.js,vue-test-utils,mocha-webpack,Node.js,Unit Testing,Mocha.js,Vue Test Utils,Mocha Webpack,在VueJs web应用程序中,我们使用vue test utils和mocha webpack编写了500多个单元测试用例(在所有模块中),使用nyc编写了覆盖率报告。 考虑一个目录中的每个模块。当我为一个特定模块运行测试用例时,会成功生成带有测试用例结果(通过或失败)的报告。但是一次性运行所有测试用例(通过在package.json中设置路径),所有测试用例都不会执行并抛出以下错误: 超过了100000毫秒的超时时间。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保其得到解

在VueJs web应用程序中,我们使用vue test utils和mocha webpack编写了500多个单元测试用例(在所有模块中),使用nyc编写了覆盖率报告。 考虑一个目录中的每个模块。当我为一个特定模块运行测试用例时,会成功生成带有测试用例结果(通过或失败)的报告。但是一次性运行所有测试用例(通过在package.json中设置路径),所有测试用例都不会执行并抛出以下错误:

超过了100000毫秒的超时时间。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保其得到解决。

我看到过类似的问题,建议在代码中使用async await或增加超时来解决这个问题,但为什么测试用例在为特定模块运行时得到执行,而在为整个项目运行时抛出上述错误呢

我曾尝试在package.json中设置--timeout 100000,这对大量测试用例都有帮助,但当再次运行所有(超过500个)单元测试用例时,它会抛出相同的错误。 我认为这与测试用例的数量有关

导致此问题的原因以及如何解决此问题,以便所有测试用例都能成功运行

编辑
如果单元测试中的任何代码导致此超时问题,那么如何检测哪个testcase导致此问题,因为通过查看命令提示符中的日志似乎无法检测问题的来源。任何建议都会有帮助。

在尝试了这么多解决方案后,得出了一个结论,解决了上述问题:

  • 当我们运行测试用例时,会出现与依赖项相关的警告 然后它会减慢测试用例的速度,并导致超时问题。这个 解决方案是通过模仿行为消除这些警告, 突变、getter和stubing子组件
  • 添加NODE_选项:“NODE--max_old_space_size=16384” 配置文件将增加NodeJS内存。这已得到改进 单元测试的性能
  • 不要使用beforeach,而是使用beforeach和after方法 在包装器中安装组件。也可以使用销毁后的方法 要销毁包装,请执行以下操作:
  • let包装器;
    之前(()=>{
    包装器=装载('组件名称'{
    ...
    })
    });
    之后(()=>{
    wrapper.destroy();
    
    });这个问题不够具体。在没有看到测试用例的情况下回答这个问题是不可能的。看见如果测试包含的内容在批量执行时会导致测试时间变慢(db,随便什么),这就是问题所在。要验证时间是否是问题,为什么不试试——超时100000000或其他高得离谱的东西?