- Nodejs 如何使用import语法做js文件的单测。 2. 如何配合jest
我写了个sum.js
。
文件路径algorithm/sum.js
,
export default function sum(a, b) {
return a + b
}
我希望跑单测,
import sum from '../sum'
test('sum function correct', () => {
expect(sum(1, 2)).toBe(3)
})
如果你是原始的repo,先npm init -y
。这里我们要考虑esm的问题,默认jest使用的是commonjs。
- npm install jest -g
- npm install jest
- jest --init 初始化jest config文件 选择node环境
- 添加package.json一列:
"type": "module"
- 添加package.json的scripts一列:
"node --experimental-vm-modules ./node_modules/.bin/jest"
,告诉node 我用esm的方式运行jest。 - 由于jest默认的path是在tests目录下。需要建立目录
algorithm/__tests__
。建algorithm/__tests__/sum.spec.js
添加上面的单测。 - npm run test。查看结果
总结:
还是一个比较简单的单测demo,起因是平时个人写的比较少而且最近也在刷算法题,之后会尝试多使用这样的模式。
还有更多扩展:
- ts配合
- 如何watch
- jest配合browser
- 配合nestjs如何写单测,包括hijack数据库。