测试专题 | 青训营笔记

68 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天

测试专题

主流:功能测试  但还是建议自动化测试

为什么要进行自动化测试 1.统一代码风格 2.组件 Readme 用例化,保持时效性 3.有效审视代码中的耦合逻辑 4.避免后续迭代影响到历史功能,发布 breaking change

自动化测试:单元测试和e2e测试
单元测试:给设计师和开发人员用
e2e测试:给用户用

image.png

1676459465359.png

     尽量减少用例的更改,保持组件的强壮性
     
     Jest+ React testing library + Cypress + storybook :
     测试框架: Jest(提供一个可运行的环境、测试结构、结果报告、代码覆盖、断言、mockingsnapshot)
     测试辅助库: react-testing-library (dom查询,断言和事件的模拟,React18 推荐的UI自动化的集大成测试辅助库)
     Cypress + storybook: E2E 端对端测试,覆盖单元测试不易于覆盖的复杂场景

1676459515765.png

配置示例仓库:https://github.com/czm1290433700/test_demo_for_config
demo仓库: https://github.com/czm1290433700/test_demo

image.png

image.png

推荐使用ARIA,不对代码结构依赖,但又给自己提供指示,非常适用

1676460358694.png

image.png

断言部分 jest和jest dom两部分完成整个断言内容

image.png

image.png

测试时不止测试程序中事件本身,同时也需要注重应用中和该操作相关的实践,比如和click相关的hover
所以使用userEvent

image.png

image.png

快进任务相当于在jest环境中将时间代码置零,然后再做调整

image.png

快照测试是其中一种单元测试
生成快照文件(完全对照的一种静态场景测试)

image.png

e2e测试 滚动,点击效果和跳转一类的效果无法单元测试 使用之后测试业务本身,对html中的内容场景测试

测试评价 通过使用例运行标红区域的逻辑,即可提高覆盖率 (用例可以覆盖所有代码基本就差不多) image.png

image.png

详见测试小册

标题:【青训营请回答】主题直播 | 第五届字节跳动青训营前端方向-飞书直播

网址:meetings.feishu.cn/s/1inx0qbx7…