Cypress继承Mocha 的那些特性介绍

简介: Cypress继承Mocha 的那些特性介绍

大家好,我是阿萨。 上一次我们学习了Cypress 使用的是chai的断言语法。所以写Cypress的断言很简单。本节课我们学习下Cypress 和Mocha 共同的特性。


Mocha 和Cypress 有哪些方便写测试用例的关键字呢?


Cypress的测试接口借鉴了Mocha。Cypress采用了Mocha的BDD语法,所以完全适合单元和集成测试。


Cypress提供了describe(), context(), it()和specify();Describe()提供了一种使测试更容易阅读和组织的方法。


一. describe


describe()基本上是对测试用例进行分组。我们可以按照我们认为必要的  测试用例范围将测试嵌套在组中。description()有两个参数,第一个是测试组的名称,第二个是回调函数。同一个文件中可以有多个describe。同样,一个describe可以声明在另一个describe中。


二. context 与describe


context()只是describe()的别名,并且具有相同的行为。可以参考下面的例子


三. it


it()用于单个测试用例。it()有两个参数,一个字符串解释测试应该做什么,一个回调函数包含我们实际的测试:


四.it 与 specify


specify()是it()的别名,所以选择最适合关键字。参考如下例子。

 describe('1st Describe to show 1st suite ', () => {
    describe('Describe Inside Describe to show nested suite', () => {
        it('first test inside', () => {
            cy.log('first test inside')
            assert.equal(true, true)
        })
    })
    it('1st test', () => {
         cy.log('1st test')
        assert.equal(true, true)
    })
    specify('2nd test', () => {
        cy.log('2nd test')
        assert.equal(true, true)
    })
    it('3rd test', () => {
        cy.log('3rd test')
        assert.equal(true, true)
    })
})
 context('2nd suite', () => {
    it('first test', () => {
        cy.log('first test')
        assert.equal(true, true)
    })
    it('2nd test', () => {
        cy.log('2nd test')
        assert.equal(true, true)
    })
    it('3rd test', () => {
        cy.log('3rd test')
        assert.equal(true, true)
    })
 })

    () =>我们声明回调的函数,回调函数是作为参数传递给另一个函数的函数。

上面例子的执行结果。


image.png

相关文章
|
前端开发 JavaScript
cypress 如何定位元素?
cypress 如何定位元素?
310 0
cypress 如何定位元素?
|
JavaScript 数据安全/隐私保护
Cypress初体验,写一个成功login的脚本
Cypress初体验,写一个成功login的脚本
170 0
|
Kubernetes 负载均衡 网络协议
k8s学习-Service(概念、模板、创建、外部代理、删除等)
k8s学习-Service(概念、模板、创建、外部代理、删除等)
607 0
|
12月前
|
负载均衡 监控 安全
如何管理 Docker Swarm 集群和节点
【10月更文挑战第7天】
211 3
|
7月前
|
Kubernetes API 网络安全
当node节点kubectl 命令无法连接到 Kubernetes API 服务器
当Node节点上的 `kubectl`无法连接到Kubernetes API服务器时,可以通过以上步骤逐步排查和解决问题。首先确保网络连接正常,验证 `kubeconfig`文件配置正确,检查API服务器和Node节点的状态,最后排除防火墙或网络策略的干扰,并通过重启服务恢复正常连接。通过这些措施,可以有效解决与Kubernetes API服务器通信的常见问题,从而保障集群的正常运行。
437 17
|
测试技术 Python
cypress 和allure 集成生成测试报告
cypress 和allure 集成生成测试报告
322 1
cypress 和allure 集成生成测试报告
|
人工智能 算法 测试技术
AI战略丨大模型重塑长安新汽车新场景
长安科技内部一边基于大模型进行技术研发,一边也在不断反思:大模型究竟还能带来什么?长安科技最初是希望将尽可能多的控制能力接入到大模型中,如今,其对大模型的能力有了新的理解。
|
机器学习/深度学习 数据挖掘 Python
简单几步,教你使用scikit-learn做分类和回归预测
简单几步,教你使用scikit-learn做分类和回归预测
273 0
|
存储 运维 算法
软件体系结构 - 架构风格(3)主程序/子程序架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(3)主程序/子程序架构风格
895 0
|
JavaScript 前端开发 开发工具
npm安装依赖实践总结
npm安装依赖实践总结
891 0