jest 使用教程

本系列是我的常用 koa 中间件使用笔记,防止忘记使用方法而作记录

Jest是Facebook开源的一套JavaScript测试框架, 它集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具。

 

基本使用

安装jest后需要新建一个npm脚本

其中含义:runInBand 顺序执行、forceExit 强制退出、colors 输出上色

//package json
"scripts": {
    "test": "jest --runInBand --forceExit --colors"
  },

然后建立一个 test 的文件夹,jest 会自动寻找所有的名字为 *.test.js 的文件执行。

在demo.test.js输入以下内容:

function sun(a, b) {
    return a + b;
}

//test是测试函数
test('测试sun函数', () => {
    expect(sun(1, 3)).toBe(4);    toBe判断是否等于
})

//jest 输出的结果

// PASS  test/demo.test.js
// √ 测试sun函数 (3 ms)

// Test Suites: 1 passed, 1 total
// Tests:       1 passed, 1 total
// Snapshots:   0 total
// Time:        4.029 s

这样运行 npm run test 就能输出结果了。

 

其他常用断言函数

//常见断言方法
expect({a:1}).toBe({a:1})//判断两个对象是否相等
expect(1).not.toBe(2)//判断不等
expect({ a: 1, foo: { b: 2 } }).toEqual({ a: 1, foo: { b: 2 } })
expect(n).toBeNull(); //判断是否为null
expect(n).toBeUndefined(); //判断是否为undefined
expect(n).toBeDefined(); //判断结果与toBeUndefined相反
expect(n).toBeTruthy(); //判断结果为true
expect(n).toBeFalsy(); //判断结果为false
expect(value).toBeGreaterThan(3); //大于3
expect(value).toBeGreaterThanOrEqual(3.5); //大于等于3.5
expect(value).toBeLessThan(5); //小于5
expect(value).toBeLessThanOrEqual(4.5); //小于等于4.5
expect(value).toBeCloseTo(0.3); // 浮点数判断相等
expect('Christoph').toMatch(/stop/); //正则表达式判断
expect(['one','two']).toContain('one'); //不解释

如果判断object相等必须使用toEqual

 

 

 

### WebStorm 使用 Jest 教程 在现代 JavaScript 开发中,单元测试对于确保应用程序的质量至关重要。WebStorm 提供了对 Jest 测试框架的强大支持,使得编写、运行和调试测试变得简单而高效。 #### 安装配置 为了能够在 WebStorm 中顺利使用 Jest,首先需要确保项目已经安装了必要的依赖包。可以通过 npm 或 yarn 来安装 jest 和相关库: ```bash npm install --save-dev jest @types/jest ts-jest ``` 接着,在 `package.json` 文件里定义脚本来执行测试命令: ```json { "scripts": { "test": "jest" } } ``` 这一步骤有助于简化后续直接从 IDE 启动测试的过程[^1]。 #### 创建测试文件 按照约定俗成的方式命名测试文件,通常是在源码旁边创建对应的 `.spec.js` 或者 `_test.js` 文件。例如,如果有一个名为 `sum.js` 的函数实现,则可以为其编写配套的 `sum.spec.js` 测试套件来验证其行为是否符合预期。 #### 编写简单的测试用例 下面展示了一个基本的例子,展示了如何利用 Jest 断言 API 对一个加法运算进行检验: ```javascript // sum.js function sum(a, b) { return a + b; } module.exports = sum; ``` 相应的测试文件如下所示: ```javascript const sum = require('./sum'); describe('Sum function', () => { test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); }); ``` 上述代码片段说明了怎样导入被测模块,并通过 describe 和 it/test 函数构建描述性的测试场景;最后借助于 expect 方法来进行具体的断言操作。 #### 运行与查看结果 一旦完成了初步设置之后,就可以方便地在 WebStorm 内部启动测试流程了。右键点击任意测试文件或目录下的某个特定部分,选择 “Run 'Jest Tests'”,这样就能立即看到控制台输出的结果反馈。此外,还可以利用编辑器底部的状态栏快速访问最近一次执行过的测试报告。 值得注意的是,当遇到失败的情况时,IDE 将自动高亮显示有问题的位置,并给出详细的错误信息以便开发者定位问题所在之处[^5]。 #### 调试模式的支持 除了常规的执行方式外,WebStorm 更进一步集成了完整的调试体验。只需按下 Shift+F9 即可进入带断点的功能性调试会话当中,从而更加深入地探究程序内部的工作机制。在此期间,用户能够实时观察变量的变化情况,逐步跟踪逻辑走向直至找到根本原因[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值