zoukankan      html  css  js  c++  java
  • [Cypress] Stub Network Requests in a Cypress Test

    To keep our tests fast and easily repeatable, it makes sense to create many integration tests and fewer full end-to-end tests. In this lesson, we’ll see how to stub out network requests to create repeatable integration tests by ensuring our application runs in a known state for our tests.

    For example if we want to test for the initial loading, how many initial data should get.

    If we get doing like this, it actually point to the server, everytime we add one or remove one will affect the testing results.

        it('should have four initial todos', function () {
            cy.get('.todo-list > li')
                .should('have.length', 4);
        });

    We can mock and control what data we will get for the endpoint:

        it('should have four initial todos', function () {
            cy.server();
            cy.route('GET', '/api/todos', [
                {id: 1, name: 'one', isComplete: false},
                {id: 2, name: 'two', isComplete: false},
                {id: 3, name: 'three', isComplete: false},
                {id: 4, name: 'four', isComplete: false}
            ]);
    
            cy.visit('/');
    
            cy.get('.todo-list > li')
                .should('have.length', 4);
        });

    So now no matter we add one or remove one todo from the list, each time tests run will have the same result.

  • 相关阅读:
    数据库表的主外键
    数据库条件查询及关系搭建
    MySQL数据库的基本认识与操作
    MySQL5.7安装详解及常见安装问题解决
    数据库介绍
    Sensor图像调试
    1.线性表
    发展建议
    typedef 与 #define 的区别
    音频处理
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9090658.html
Copyright © 2011-2022 走看看