【发布时间】:2018-11-18 16:09:15
【问题描述】:
我正在使用 AVA + sinon 来构建我的单元测试。因为我需要 ES6 模块并且我不喜欢 babel,所以我在整个项目中都使用 mjs 文件,包括测试文件。我使用“--experimental-modules”参数来启动我的项目,并在测试中使用“esm”包。以下是我的ava配置和测试代码。
"ava": {
"require": [
"esm"
],
"babel": false,
"extensions": [
"mjs"
]
},
// test.mjs
import test from 'ava';
import sinon from 'sinon';
import { receiver } from '../src/receiver';
import * as factory from '../src/factory';
test('pipeline get called', async t => {
const stub_factory = sinon.stub(factory, 'backbone_factory');
t.pass();
});
但我收到错误消息:
TypeError {
message: 'ES Modules cannot be stubbed',
}
如何在没有 babel 的情况下对 ES6 模块进行存根?
【问题讨论】:
标签: sinon es6-modules ava