如何使用全局安装的 AVA 进行单元测试?

How can I use globally installed AVA for unit tests?

我正在尝试使用 AVA 为我的 javascript 应用程序实施单元测试。

我已经全局安装了AVA。

我已经创建了一个基本的 ava.config.cjs 文件:

module.exports = {
    files: ['tests/**', '!tests/**/{fixtures,helpers}/**']
};

我有一个测试文件:

import test from 'ava';
// const { test } = require('ava');

test('foo', t => {
    t.pass();
});

test('bar', async t => {
    const bar = Promise.resolve('bar');
    t.is(await bar, 'bar');
});

'import' 和 'require' 我都试过了,但都不行。

当我从命令行 运行 ava 时,我收到一个错误,指出找不到模块 'ava'。

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'ava'

Error: Cannot find module 'ava'

取决于我尝试包含 AVA 的方法...

我需要做什么才能让它正常工作?

这取决于您的机器设置。 Node.js这里找不到AVA

也就是说,不建议全局安装 AVA。理想情况下,您在项目中安装并 运行 使用 npx ava (或 preferred-package-manager-equivalent)。