写在前面
E2E(e2e) 全拼为 End to End,意思为端到端测试。不像单元测试那样是和函数,类,组件等代码打交道,端到端测试是和界面功能打交道的。简单来说,端到端测试就是用代码模拟用户对页面的一系列操作,并验证其是否符合期望。比如你需要做一个点击按钮弹出一个弹窗的功能,正常情况下你需要写完代码后手动点击那个按钮,用眼睛查看是否有个弹窗如期地弹出来。用 e2e 测试后,你就可以不手动操作,只需写好测试代码,代码里模拟点击按钮,然后期望页面有一个弹窗元素,再运行测试代码看是否通过,就可以知道该功能是否正确实现了。
Cypress
cypress 是一款 JavaScript 代码测试工具,cypress 能做的有 单元测试 、集成测试、端到端测试 这三种类型的测试。但我最近工作中用到它的仅仅是它的端到端测试,即 e2e 测试,单元测试仍是用的 Jest。因此这里暂且只介绍它的 e2e 测试。