Jus*_*tin 6 javascript testing es6-modules
是否有任何测试框架支持使用新 ES 模块语法的测试?我有一个 JS 应用程序,它大量使用.mjs带有 ES 模块的文件。我尝试了 Jest 和 Jasmine,当我尝试为我的应用程序编写运行测试时,它们都会抛出错误。我需要测试这个文件:
数学.mjs
export function add(a, b) {
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
Cap*_*iel 13
截至 2022 年 2 月,这是我所看到的:
我尝试了Vitest,效果非常好。我的目标是用打字稿构建一个可发布的库。该库是使用Nx w 和"type": "module"in构建的 monorepo 的一部分,package.json以及 my 中的以下内容tsconfig.json:
"compilerOptions": {
"module": "ESNext",
"target": "ES6",
"moduleResolution": "node"
}
Run Code Online (Sandbox Code Playgroud)
它使用 0 配置,并且我尝试测试使用来自 3rd 方包的 CJS 和 ESM 类型导入的函数。
顺便说一句,我真的很喜欢干净的语法。另外,vitest 还支持测试使用 React/Vue 构建的组件。
您可以将该esm包与 Jasmine 一起使用。但不确定 Jest
数学规范.js
import { add } from './math.mjs';
describe('Add', () => {
it('should add 3 and 2', () => {
expect(add(3,2)).toBe(5);
});
});
Run Code Online (Sandbox Code Playgroud)
$ yarn global add jasmine esm
$ jasmine --require=esm
Randomized with seed 44366
Started
.
1 spec, 0 failures
Finished in 0.004 seconds
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |