在经过前两天简单的介绍 Cypress,现在我想透过一个实际的范例来让大家更加了解 Cypress 以及到底如何攥写 E2E 测试。
我们这次测试的目标网站是非常经典的 TodoMVC ,不过为了呼应 Vue 的主题,所以我会拿 Vue.js • TodoMVC 当作测试的目标网站。
大家可以透过连结自由操作一下,会对於接下来的测试例子更佳有感!
以下是这次测试的案例规划:
我大部分是参考 TodoMVC 原作者所攥写的 E2E 测试,并从中挑选重要的核心操作来示范撰写测试,如果想了解涵盖率 100% 的 TodoMVC E2E 测试可以去查看原作的 Source Code。
实务上 E2E 测试也不常达到 100%,因为 E2E 所要花费的成本是所有测试类型中最高的,而且通常在涵盖率达到 60~70 % 後测试的效益就会大幅降地 (成本太大),也因此通常仅会为产品的核心功能攥写 E2E 测试。
describe('Todo MVC', () => {
context('Case 1: Initial State', () => {
beforeEach(() => {
cy.visit('https://todomvc.com/examples/vue')
})
it('Case 1-1: start with zero todo item', () => {
cy.get('.todo-list .todo').should('have.length', 0)
})
it('Case 1-2: hide .main and .footer', () => {
cy.get('.main').should('not.be.visible')
cy.get('.footer').should('not.be.visible')
})
})
})
语法说明:
在控制台中可以看到 Cypress 输出的资讯,点击 Command Log 中的每一行命令都可以看到当时的样貌以及 console 资讯,来帮助我们开发或是除错
今天的分享就到这边,如果大家对我分享的内容有兴趣欢迎点击追踪 & 订阅系列文章,如果对内容有任何疑问,或是文章内容有错误,都非常欢迎留言讨论或指教的!
我们明天见!
>>: [Day 25] Android Studio 七日陨石开发:一起来布局 App 介面!
DAY03 建立 Datastore 和 Dataset (上) 我们都知道做 AI 最重要的就是 ...
首先先安装python绘图用的matplotlib,安装指令从以下网址撷取的 https://mat...
影片在这里 分类:选股 型态 重点整理 金三角交叉:5 日均线先向上突破 10 日均线後再突破 20...
一个大包的专案程序码解压缩後看着满满的程序码思考着我可以实现计画案的目标吗...。接下来这三天会将专...
如果要图像不失细节(jpeg是有损压缩) 最好是PNG格式(无损压缩) 这边介绍YUV import...