Skip to main content

为什么要写测试

为什么需要单元测试

我们写代码其实都分两步:

  1. 写代码
  2. 调试验证

而往往是反复地调试验证,才是最花费时间的一步。

单元测试,就是避免这个重复调试验证的过程。

单元测试的好处

避免重复的手动调试

比如你开发了一个删除人员的功能,

那当我们调试验证的时候,一共需要

  1. 填写人员相关信息
  2. 确认信息并添加人员
  3. 点击删除按钮
  4. 确认并删除人员

整整四步才可以。

其中但凡一步出了差错,又要从头再来一遍这四步。

这个手动调试的过程每次都是重复的

如果写测试的话,我们只需要写一遍,之后都可以避免这一遍遍重复的调试。

it("should remove staff", () => {
repository.updateStaff = vi.fn();
const staff = createStaff("Jack");
staffs.add(staff);

removeStaff(staff);

expect(staff.state).toBe(StaffState.REMOVED);
expect(staffs.length).toBe(0);
});

单元测试来替代了手动测试,让测试变成自动化的操作。

这样大大提高了开发效率。

直接调用 Store 层进行功能验证

用手动测试的话,要要通过 UI 层,才能测试到 Store 层。

但单元测试可以直接去调用到 Store 层。

我们在单元测试之前或之后,可以手动去测一遍。 从而验证从 UI 调用 Store 这一层是否有问题。

更方便地定位和修复 bug

手动调试可能就是一步一步打断点 / 打 console.log,找到问题,之后修复问题。

但如果我们对写了测试的话,就可以直接通过单测来发现问题了。