web-dev-qa-db-ja.com

サイプレス - テストファイルを順番に実行する方法

[すべてのスペックを実行する]を押すと, ボタン またはすべてのファイルを実行するRUNコマンドを使用するか、それはすべてのテストファイルをアルファベット順に実行するので、それを望みません。

私は自分のルールとそれらのすべてを並べ替えたいです。


チャットアプリテストで3つのステップがあるとしましょう。

  1. チャットアプリを接続できます
  2. チャットを接続できます
  3. ユーザーはメッセージを送ることができます

互いに結び付けずにあらゆるステップをテストしたいです。私が意味するのは、自分の関数の1つをテストします。私がしていることは次のとおりです

chat_app_connect.spec.js

describe('Server Connecting Test', () => {
    it('Visit Server page', () => {
        cy.visit('https://chat.page..');
    });

    it('Check welcome messages', () => {
        cy.contains('Live Support');
        cy.contains('Hello, Stranger');
    });

    it('Check URL and status of circle', () => {
        // URL
        cy.url()
            .should('include', '/hello');
        // Status Circle    
        cy.get('circle')
            .should('have.class', 'positive');
    });
});
 _

chat_connect.spec.js

import './chat_app_connect.spec.js';

describe('Chat Connecting Test', () => {
    it('Type customer name', () => {
        cy.get('input')
            .clear()
            .type('E2E Test');
    });
    it('Click to the submit button', () => {
        cy.get('.submit-button')
            .click();
    });
    it('Check URL and status of circle', () => {
        // URL
        cy.url()
            .should('equal', 'https://client.dev.octopus.chat/');
        // Status Circle
        cy.get('circle', { timeout: 5000 })
            .should('have.class', 'positive');
    });
});
 _

chatting.spec.js

import './chat_connect.spec.js';

describe('Chatting Tests', () => {
    it('Type a test message then press Enter and check the message if it sent', () => {
        // Type
        cy.get('#chat-message')
            .clear()
            .type('Hey I\'m a test message{enter}');
        // Check the message
        cy.get('.message-list')
            .should('contain', 'Hey I\'m a test message');
    });
});
 _

あなたがすべてのテストが互いに結び付けられているので、私が猫の飼い止めをテストしようとしたときにそれがすべてのテストとテスト全体をテストすることを試みたときの意味です。

私はそれが正しい方法であるかどうかわからない。

この場合、私は何をすべきか、それは許容できる方法になることができます

13
WouX

最も簡単な解決策は、次のようなすべてのテストファイルにプレフィックスを追加する可能性が最も高いです。

  • 01-chat_app_connect.spec.js _
  • 02-chat_connect.spec.js _

nS。

サイプレスはそれらのファイルをアルファベット順に取ります。

2
alcfeoh