0

我正在尝试使用 mocha 进行一个非常简单的测试(没有配置文件,没有其他标志,只有mocha,yarn2testee.js文件),但它总是给我0 passing. 地狱,它甚至不会运行任何文件!

// testee.js

console.log('test') // No output

describe('something', () => {
    it('Should run', () => {
        console.log('test 2') // No output either
    })
})
$ yarn mocha testee.js

  0 passing (1ms)

我正在使用的工具:

  • 摩卡9.0.2
  • 纱线浆果 2.4.2

Yarn 2 不支持 mocha 吗?我应该使用其他东西吗?我总是将 mocha 用于我的所有测试文件,如果确实如此,也许是时候迁移了。

注意:我尝试使用纱线 1,它完美无缺。此外,Mocha 找到了该testee.js文件,否则它会给我not found错误而不是0 passing

4

1 回答 1

0

Mocha 9 使用 ESM-first 方法导入 https://github.com/mochajs/mocha/releases/tag/v9.0.0

带有默认 PnP 安装方案的 Yarn 2+ 尚不支持 ESM,因为 Node API 缺少一些使这成为可能的功能

目前,如果你想使用 Mocha 9,你必须使用node_modulesYarn 2+ 的安装方案,将你的配置更改为: .yarnrc.yml

nodeLinker: node-modules
...

并运行yarn以重新安装您的项目node_modules

您可以在此处跟踪 ESM 对 Yarn PnP 的支持: https ://github.com/yarnpkg/berry/issues/638

于 2021-07-29T17:17:31.490 回答