![](/img/trans.png)
[英]Are there any javascript testing frameworks that natively support ES6 imports without babel or another transpiler?
[英]Do Any JavaScript Test Frameworks Support ES Modules
是否有任何测试框架支持使用新的 ES 模块语法的测试? 我有一个 JS 应用程序,它大量使用带有 ES 模块的.mjs
文件。 我尝试了 Jest 和 Jasmine,当我尝试为我的应用程序编写运行测试时,它们都会抛出错误。 我需要测试这个文件:
数学.mjs
export function add(a, b) {
return a + b;
}
截至 2021 年 2 月,这是我所看到的:
.mjs
扩展名。您可以将esm
包与 Jasmine 一起使用。 虽然不确定 Jest 🤔
数学规范.js
import { add } from './math.mjs';
describe('Add', () => {
it('should add 3 and 2', () => {
expect(add(3,2)).toBe(5);
});
});
$ yarn global add jasmine esm
$ jasmine --require=esm
Randomized with seed 44366
Started
.
1 spec, 0 failures
Finished in 0.004 seconds
我尝试了 Vitest ,它就像一个魅力。 我的目标是用 typescript 构建一个可发布的库。 该库是使用Nx w 构建的 monorepo 的一部分,其中 package.json 中的"type": "module"
以及我的package.json
中的以下tsconfig.json
:
"compilerOptions": {
"module": "ESNext",
"target": "ES6",
"moduleResolution": "node"
}
它适用于 0 配置,我尝试测试使用来自 3rd 方包的 CJS 和 ESM 类型导入的功能。
顺便说一句,我真的很喜欢简洁的语法。 此外,vitest 还支持使用 React/Vue 构建的测试组件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.