最近在做一个项目,用的是react/redux/umijs组合。因为是第一次做项目,所以对于整个开发流程也不太清楚,但是依稀记得项目是要做测试的,所以在网上找一些教程,
umijs自带有

@umijs/test,测试脚本,内置 jest 测试框架
@testing-library/react,React 组件测试工具
puppeteer,Headless 浏览器工具,用于 E2E 测试

大概了解了几个测试工具的用法,大概是可以测试一个函数输出的值是否等于预期的值,以及一些纯函数的测试。但是还是不太清楚这些测试具体的应用场景,也感觉没必要给每一个函数都写一个测试(?),想请问大家有什么具体的场景可以使用到这些测试工具吗?

正常项目迭代:没有。

测试驱动开发或者稳定性要求高的项目:

  1. 基础设施建设:比如函数库或自定义 hooks 库等相对稳定的逻辑推荐写单元测试,至于怎么写单元测试可以参考 vue 3 官方测试用例和 umi hooks 测试用例。
  2. 数据源接口(请求层):比如后端提供的 http 接口,一般不需要前端来做,但想做可以写单元测试,就是构造参数发出实际的请求,看返回数据是否符合预期...
  3. 数据源接口(适配层):比如拿到数据后做的一些处理逻辑,小项目基本没有。可以写单元测试,需要模拟请求,比如 mock 掉网络请求库,改为响应测试数据,看测试数据在单个逻辑中的处理结果输出是否符合预期...
  4. UI 自动化测试(展现):众所周知,现代化前端基本都是写组件搭页面,可以构造测试参数渲染单个组件,看样式啥的是否符合要求...
  5. UI 自动化测试(功能):同上。需要模拟交互事件(比如点击按钮)看触发的行为是否符合预期(比如弹出确认框)。
  6. 集成测试:建议从用户交互侧考虑,先画脑图,列出所有交互路径,然后把路径上涉及到的所有功能或单测组合起来,看过程结果和最终结果是否符合预期...
  7. 性能测试:先看看 Lighthouse 够不够用?
  8. 暂时就这样吧不想了

    © 2018-2025 0xFFFF