mocha.opts 已弃用 - 如何迁移到 .mocharc

mocha.opts is deprecated - how to migrate to .mocharc

我正在使用 mocha.opts 文件在 VS Code 中配置我的测试。

DeprecationWarning: Configuration via mocha.opts is DEPRECATED and will be removed from a future version of Mocha. Use RC files or package.json instead.

我现在无法 运行 我的测试,想迁移到 mocharc 文件。 我不介意 mocharc 格式是 yaml 或 json。 mocha 文档很长而且没有提供迁移示例。

Q1:具体怎么做,有例子吗?

EDIT:

我找到了这个:https://github.com/mochajs/mocha/blob/master/example/config/.mocharc.yml

这是包含所有可能字段的 .mocharc.yaml 配置示例。

问题 2:关于环境变量,我可以在 mocha.opts 中设置它们,如何在 .mocharc 中设置?

已编辑

A1: 就这些了。 mocha 文件一直看起来很不友好..

好像yml格式的文件key可以是js的数组字段,json格式。例子

// in .mocharc.yml
file:
  - '/path/to/some/file'
  - '/path/to/some/other/file'

应该是

...
file : [
  '/path/to/some/file',
  '/path/to/some/other/file'
]

A1。您可以选择多种格式,例如 json、js、yml 等

当你的 mocha opt 文件是

---ui tdd
--r ts-node/register
--r tsconfig-paths/register

可以这样改成mocharc.json

{
    "require" : [
        "ts-node/register",
        "tsconfig-paths/register"
    ],
    "package": "./package.json",
    "ui": "tdd"
}

A2。这个线程可能对你有帮助 github mocha env var setting link

我认为在 package.json 上设置更好,而不是在 mocha 文件中设置。

但是你可以像这样用 require args 指定环境变量

// In .mocharc.json
{
    "require" : [
        "ts-node/register",
        "tsconfig-paths/register",
        "test/mocha.env"
    ],
    "package": "./package.json",
    "ui": "tdd"
}
// In mocha.env.ts or mocha.env.js
process.env.NODE_ENV = 'test'