Mocha使用--watch标志并使用ES6模块时会抛出错误。

10

我一直在尝试使用--watch标志设置Mocha自动监视文件更改。我已经按照以下方式在package.json中设置了两个脚本:

  "test": "mocha",
  "test:watch": "mocha --watch ./test ./game_logic" 

当使用命令npm test调用第一个脚本时,测试能够正常执行,但是当我使用npm run test:watch调用第二个脚本时,会出现以下错误:

 (node:149779) UnhandledPromiseRejectionWarning: Error [ERR_REQUIRE_ESM]: Must use import to load 
 ES Module: <path to test file contained in /test>

我有些不理解错误信息,因为我已经在从一个文件导入整个文件或单独的功能时使用了import

Mocha的文档说明支持将测试编写为ES模块,所以我真的不知道描述的错误是为什么出现。

https://mochajs.org/#nodejs-native-esm-support

1个回答

7
根据此问题,解决方法是添加--parallel标志,如下所示:
mocha --watch --parallel --recursive test

谢谢。<!-- Lorem Ipsum SO想让我写更多,但我讨厌它。--> - Fred

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接