Ras*_*uls 18 javascript mocha.js node.js
我正在做一个庞大的项目,从上周开始我更新了 mocha,现在我们收到警告:
弃用警告:通过 mocha.opts 的配置已弃用,并将从 Mocha 的未来版本中删除。改用 RC 文件或 package.json。
我想将选项迁移到 package.json 但没有好的迁移指南。GitHub 上所有有类似问题的帖子都回答“查看文档”。但是文档没有显示如何将一个选项从 mocha.opts 转移到 package.json,也没有关于它应该如何格式化的信息。我唯一能找到的是“spec”属性是文件运行的模式。对我来说,没有其他东西是隐含的。
我们的 mocha.opts 文件:
--reporter dot
--require test/mocha.main
--recursive src/**/*.test.js
--grep @slow --invert
Run Code Online (Sandbox Code Playgroud)
我的尝试不起作用:
"mocha": {
"reporter": "dot",
"require": "test/mocha.main",
"spec": "src/**/*.test.js",
"grep": "@slow --invert"
},
Run Code Online (Sandbox Code Playgroud)
请解释我应该如何格式化此配置块以实现与使用上述 mocha.opts 中的选项时相同的行为
小智 10
我也很难找到迁移到新标准的确切解决方案,但最终可以解决这些问题。我希望我不会太晚,我仍然可以帮助你。
所以首先,你需要一个新的配置文件来替换 mocha.opts。Mocha 现在提供了相当多的可用于它的文件格式变体。你可以在他们的 GIT 中找到这些。我拿了.mocharc.json并将使用它作为进一步的例子。虽然添加它并没有改变任何东西,只是它对你也没有影响。
问题是将 mocha 测试脚本指向package.json. --config在下面的脚本部分的测试脚本中提供标志package.json。
"scripts": {
"test": "mocha --config=test/.mocharc.json --node-env=test --exit",
"start": "node server"
}
Run Code Online (Sandbox Code Playgroud)
现在您可以更新.mocharc.json文件中的配置,它们应该正确反映。下面是一个例子。
{
"diff": true,
"extension": ["js"],
"package": "../package.json",
"reporter": "spec",
"slow": 1500,
"timeout": 20000,
"recursive": true,
"file": ["test/utils/helpers.js", "test/utils/authorizer.js"],
"ui": "bdd",
"watch-files": ["lib/**/*.js", "test/**/*.js"],
"watch-ignore": ["lib/vendor"]
}
Run Code Online (Sandbox Code Playgroud)
我正在使用file属性来定义哪些文件应该首先执行,因为它们需要首先执行。它们将按照您在文件数组中提供的顺序执行。您可以使用的另一个属性是slow其值定义了 mocha 是否认为执行任何测试用例所花费的时间很慢。
小智 7
查看此链接以查看 mocha 选项文件的新格式:
https://github.com/mochajs/mocha/blob/master/example/config/.mocharc.yml
基本上,您需要一个 .mocharc.yml 或 .mocharc.json(还有更多格式)来设置 mocha 配置。我来到这个帖子也希望找到答案。希望这对你有帮助!
小智 6
我最终package.json通过使用数组而不是您所做的字符串文字来完成工作。前任:
"mocha": {
"require": ["tsconfig/register"]
}
Run Code Online (Sandbox Code Playgroud)
也许值得尝试一下!
| 归档时间: |
|
| 查看次数: |
7157 次 |
| 最近记录: |