【js中的单元测试】【30秒快速入门】

20 篇文章 1 订阅

什么是单元测试
测试是一种验证我们代码是否可以按预期工作的方法,换种说法就是写些代码来验证一段代码的正确性,被测试的对象可以是样式、功能、流程、组件等。单元测试是对软件中最小可测试单元进行检测和验证。单元测试能有效的提升工作效率:
1.能监测出潜在的bug
2. 能快速反馈功能的输出
3. 能保证代码重构的安全性
4. 能方便协同开发
如何能写出最简单的单元测试代码?下面介绍两种简单单元测试。

1、编写测试代码片段。

废话不多说,直接上代码。被测对象单元如:

let  add=(a,b)=>a+b;

   
   
  • 1

测试代码:

let expect = (result) => {
    return {
        toBe: function (actual) {
            if (actual !== result) {
                throw new Error("期望值与实际值不等")
            }
        }
    }
};

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

接着可以写一个方法用来测试;

let test = function (desc, fn) {
    try {
        fn();
    } catch (e) {
        console.log(`${desc}没有通过`)
    }
}

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

再控制台验证:

test('加法测试', () => {
    expect(add(1, 2)).toBe(4)
})

   
   
  • 1
  • 2
  • 3

这样一个简单的单元测试单元测试代码就完成了。

2、使用jest测试。

若不想写单元测试代码,也可以借助第三方测试工具jest,是react里面的一种测试方法,下面介绍jest的使用。
1. jest必须基于node环境下,首先使用命令行安装jest,npm i -D jest或者yarn add -D jest进行安装。通过npm ls jest查看jest是否安装成功,如果有jest版本号就表示成功。
2. 在当前工作区使用命令行npm init -y将对应配置项集成在pekage.json中,如下:。

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "text.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  1. 准备工作做好了,现在可以开始测试了。如在工作区创建测试文件math.js,math.js可以写被测试代码如let add=(a,b)=>a+b;,然后将被测试对象向外暴漏module.exports={add};。
let add = (a, b) => a + b;
module.exports = { add };

   
   
  • 1
  • 2
  1. 工作区再创建math.test.js用作测试文件,测试文件需要先将被测试对象引进来,使用test方法测试,代码片段如下:。
let { add } = require("./math");
test("加法测试", () => { 
    expect(add(1,2)).toBe(3)
})

   
   
  • 1
  • 2
  • 3
  • 4
  1. 最后一步也是最关键的一步,修改webpack.json文件。"scripts": { "test": "echo \"Error: no test specified\" && exit 1" },将test的内容改成jest,使用命令行npm run test就可以测试代码的正确性,这样一个简单的单元测试就完成了。下面是通过测试代码片段:
 PASS  ./math.test.js
  √ 加法测试 (2ms)

Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.823s
Ran all test suites.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
小结

上述讲了两种单元测试的方法。一是自己写代码片段去验证被测试对象,二是使用第三方的jest测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jest 是一个流行的 JavaScript 测试框架,可以用于编写单元测试、集成测试和端到端测试。下面是 Jest 单元测试入门的步骤: 1. 安装 Jest 使用 npm 安装 Jest:`npm install --save-dev jest` 2. 编写测试用例 在项目根目录下创建一个名为 `__tests__` 的文件夹,并在其创建一个名为 `example.test.js` 的文件。在 `example.test.js` 文件编写测试用例: ```javascript describe('示例测试', () => { test('测试1', () => { expect(1 + 1).toBe(2); }); test('测试2', () => { expect(true).toBeTruthy(); }); }); ``` 上面的代码定义了一个测试套件 `示例测试`,其包含两个测试用例 `测试1` 和 `测试2`。每个测试用例都是一个函数,其包含一个或多个 `expect` 语句,用于断言测试结果是否符合预期。 3. 运行测试 在命令行输入 `npx jest` 命令,Jest 将自动查找项目的测试用例并运行它们。如果所有测试用例都通过,Jest 将输出一个绿色的提示。 4. 高级配置 Jest 提供了丰富的配置选项,可以用于定制测试过程。例如,可以在 `package.json` 文件添加以下配置: ```json { "jest": { "testEnvironment": "node", "testMatch": [ "**/__tests__/**/*.test.js" ], "coverageThreshold": { "global": { "branches": 80, "functions": 80, "lines": 80, "statements": 80 } } } } ``` 上面的配置指定了测试环境为 Node.js,测试文件必须位于 `__tests__` 文件夹,并以 `.test.js` 结尾。还指定了代码覆盖率的阈值,如果代码覆盖率低于指定的阈值,Jest 将会提示测试失败。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值