前言
Jest 是一个广泛应用在项目中的 JavaScript 测试框架,它支持如今流行的测试方法、Mock 接口以及快照测试。不过在一些小型项目或者测试的基础用途中, Jest 显得有点过度。这时候, jest-lite 可以作为一种轻量级的 Jest 替代品,帮助开发者实现更为简洁的单元测试。
安装 jest-lite
在项目中,安装 jest-lite 的方式与普通的依赖包类似。在终端命令行中输入以下代码即可:
npm install jest-lite --save-dev
接下来,在项目目录下新建 .babelrc 文件,内容如下:
{ "presets": ["@babel/preset-env"] }
然后,在 package.json 中添加如下代码:
{ "scripts": { "test": "jest-lite" } }
至此,我们已经成功地安装了 jest-lite。
使用 jest-lite
单元测试
在单元测试中,我们可以用 describe 和 test 函数来进行测试。
-- -------------------- ---- ------- ------ - --- - ---- ---------- --------------- -- -- - ------------ ------ - ---- ------ - --- --- -- -- - ------------- ------------ --- ------------ ------ ----- ---- ------ ------- ------- -- -- - --------------- ------------------ --- ---
上面的代码告诉 Jest,我们要对 add 函数进行测试。我们用了两个 test 函数。
在第一个 test 函数中,我们测试了 add 函数对于参数 1 和 2 是否能够正确返回 3。expect 函数用于对我们测试的结果进行断言,我们期望 add(1, 2) 的返回值应该是 3,所以我们使用 toBe 来判断。
在第二个 test 函数中,我们测试了当输入字符时,add 函数是否能够返回 "NaN"。因为输入字符是非常常见的误操作,测试它是否能够正确处理是很重要的。
快照测试
快照测试可以帮助我们轻松地对某些组件的状态、渲染结果进行测试。
-- -------------------- ---- ------- ------ ----- ---- -------- ------ -------- ---- ---------------------- ------ ----------- ---- ---------------- ----------------------- -- -- - ------------- ----------- -- -- - ----- ---- - ---------------------------- ------------- ------------------------------- --- ---
上面的代码演示了如何使用 jest-lite 进行一个简单的快照测试。
我们首先导入 React 和 react-test-renderer 这个库。在通过 renderer.create 创建 MyComponent 组件并将其渲染为 JSON 格式的树形结构。
最后我们使用 expect(tree).toMatchSnapshot(); 对其进行断言,如果树形结构没有变化,则测试通过。
总结
通过本文的介绍,我们学习了如何使用 jest-lite 进行单元测试和快照测试,这对于一个开发者其实是至关重要的。不管你是编写小型项目,还是需要简洁的 Jest 替代品, jest-lite 都是一个不可多得的工具。
如果你想了解更多 Jest 相关的知识,可以查看 Jest 官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067359890c4f7277583e29