是否有 .mocha 文件可以在其中指定默认值,例如 --no-colors?

Posted

技术标签:

【中文标题】是否有 .mocha 文件可以在其中指定默认值,例如 --no-colors?【英文标题】:Is there a .mocha file where I can specify defaults such as --no-colors? 【发布时间】:2013-04-03 18:42:39 【问题描述】:

我想为 mocha 设置一些默认值,而不必每次都键入它们。 mocha 是否在任何地方寻找配置文件/点文件,就像 jshint 寻找 .jshintrc 而 npm 寻找 package.json 一样?

【问题讨论】:

已接受的答案现已弃用。我建议接受新的 (***.com/a/54804446/1740079) 以防止更多人使用旧方法。 【参考方案1】:

是的。您可以创建一个文件./test/mocha.opts,并在该文件中指定--no-colors

有关更多信息,请参阅Mocha Doc 上的 mocha.opts

【讨论】:

这已被弃用。请参阅@migg 的回答here。【参考方案2】:

默认为./test/mocha.opts。您可以使用--opts 参数传递自定义路径:

mocha --opts ./mocha.opts

如果您不将测试存储在 test/ 文件夹中,而是在代码文件旁边,则很有用。

任何名称和扩展名似乎都可以使用,因此如果您希望与.jshintrc.babelrc 等配合使用,您甚至可以使用mocha --opts .mocharc

【讨论】:

这是(或至少是)一个非常晦涩的功能。我很久以前就对这样的事情放弃了希望,感谢您指出它现在是可能的。 :) 谢谢!测试真的应该在文件旁边。地点很重要! 文件内容可以是JSON吗? 好像不是这样。 CLI 按空格分割内容,然后使用commander 模块对其进行解析。 commander 的解析器需要一个字符串数组。 mocha 来源:github.com/nishigori/mocha/blob/… - commander 来源:github.com/tj/commander.js/blob/… 您可以在脚本中启动 mocha 并传递您的 JSON 文件内容。见:github.com/mochajs/mocha/wiki/…【参考方案3】:

在 mocha 6+ 中,mocha.opts 更改为 legacy,定义配置的新位置是 .mocharc 文件,该文件可以具有不同的格式(JSON、YAML、JS),如 described in the docs 或 JSON使用mocha 键将配置添加到package.json

使用 --config <file> 指定您自己的 mocha 配置路径,但 mocha 使用任何 .mocharc.* 文件作为默认文件,按照文档(JS、YAML、YML、JSON)中描述的顺序,并且还自动使用来自的 mocha 密钥package.json 的优先级低于给定的配置文件。

【讨论】:

这里有一个示例 .mocharc.js 文件:github.com/mochajs/mocha/blob/master/example/config/.mocharc.js(该目录中还有其他格式)。

以上是关于是否有 .mocha 文件可以在其中指定默认值,例如 --no-colors?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 mocha 指定测试目录?

在 mocha 中,如何在执行另一个测试之前等待异步测试结束?

带有额外选项或参数的 Mocha 测试

为啥我的测试用例通过但断言实际上在 mocha 中失败

php函数中,多个参数的情况下怎么使其中一个参数为默认值而其他的使用指定值

在并行运行时获取 mocha 上的原始 process.argv 值