zoukankan      html  css  js  c++  java
  • [Cypress] Load Data from Test Fixtures in Cypress

    When creating integration tests with Cypress, we’ll often want to stub network requests that respond with large datasets. All of this mock data can lead to test code that is hard to read. In this lesson, we’ll see how to use fixtures to keep sample data in files and easily load it on demand in your tests.

    Now we hard code the mock data into the test, somehow, we want those data can be reuseable for other cases.

    So we need to change the following implementation by using fixture:

        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);
        });

    Add cypress/fixtures/todos.json:

    [
      { "id": 1, "name": "One", "isComplete": false },
      { "id": 2, "name": "Two", "isComplete": false },
      { "id": 3, "name": "Three", "isComplete": false },
      { "id": 4, "name": "Four", "isComplete": false }
    ]

     

    Then change our code to:

        it('should have four initial todos', function () {
            cy.server();
            cy.fixture('todos')
                .then(todos => {
                    cy.route('GET', '/api/todos', todos);
                });
    
            cy.visit('/');
    
            cy.get('.todo-list > li')
                .should('have.length', 4);
        });

    There is a simple way provided by Cypress:

        it('should have four initial todos', function () {
            cy.server();
            /*
            cy.fixture('todos')
                .then(todos => {
                    cy.route('GET', '/api/todos', todos);
                });
                */
            cy.route('GET', '/api/todos', 'fixture:todos');
            cy.visit('/');
    
            cy.get('.todo-list > li')
                .should('have.length', 4);
        });
  • 相关阅读:
    P1908 逆序对
    P1967 货车运输
    成也DP,败也DP(AFO?)
    Review Before THUWC2020
    THUWC2020游记
    loj6295. 无意识之外的捉迷藏
    loj6504. 「雅礼集训 2018 Day5」Convex
    某道XJ题
    loj2304. 「NOI2017」泳池
    loj6435. 「PKUSC2018」星际穿越
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9090705.html
Copyright © 2011-2022 走看看