Mocha.opts已弃用,如何迁移到Package.json?

mocha.opts deprecated, how to migrate to package.json?(Mocha.opts已弃用,如何迁移到Package.json?)

本文介绍了Mocha.opts已弃用,如何迁移到Package.json?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个庞大的项目,自从上周我更新了mocha,现在我们收到了警告:

DeproationWarning:不推荐通过mocha.opts进行配置,并且 将从未来版本的摩卡中删除。使用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

我的尝试不起作用

  "mocha": {
    "reporter": "dot",
    "require": "test/mocha.main",
    "spec": "src/**/*.test.js",
    "grep": "@slow --invert"
  },

请解释在使用上面mocha.opts中的选项时,我应该如何格式化此配置块以实现相同的行为

推荐答案

我也遇到了一些困难,无法找到迁移到新标准的确切解决方案,最终可以解决这些问题。我希望我不会太晚,我仍然可以帮助你。

因此,首先需要一个新的配置文件来替换mocha.opts。Mocha现在提供了相当多的文件格式变体,可以用于它。您可以找到这些here in their GIT。我以.mocharc.json为例,并将使用它进行进一步的示例。虽然添加它并没有改变任何事情,但它对您也没有任何影响。

陷阱是将mocha测试脚本指向package.json中的此配置文件。在您的package.json中的脚本部分的测试脚本中提供--config标志。

"scripts": {
    "test": "mocha --config=test/.mocharc.json --node-env=test --exit",
    "start": "node server"
}
现在您可以在.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"]
}

我使用file属性来定义哪些文件应该首先执行,因为它们需要首先执行。它们将按照您在文件数组中提供的顺序执行。您可以使用的另一个属性是slow,它的值定义了mocha是否认为执行任何测试用例所花费的时间都很慢。

这篇关于Mocha.opts已弃用,如何迁移到Package.json?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Mocha.opts已弃用,如何迁移到Package.json?

基础教程推荐