Могу ли я иметь несколько «это» в одном «описать» и использовать beforeEach - PullRequest
1 голос
/ 10 мая 2019

Итак, у меня есть beforeEach для загрузки моего сайта. Я в основном пишу свой тест в одной describe функции с одной it функцией.

my beforeEach находится в index.js> Поддержка> Папка Cypress

beforeEach(() => {
  cy.visit('http://localhost:3000/');
});

Пример текущего кода:

describe('this is a test',function(){
    it('will be a test example',function(){
        cy.contains('test').click
        cy.contains('another test').click()
    })
})

Сотрудник указал, что я должен попытаться разбить их, чтобы было более понятно, что делает каждый тест, при условии, что каждая часть может выполняться независимо. У меня есть несколько тестов, которые могут выполняться независимо, однако beforeEach включается для каждого it('test_name',function(), который я пишу.

Например: я пишу тест, чтобы открыть карту, нажимаю на состояние, добавляю данные об этом состоянии, затем закрываю. Если я разделю каждую часть на ее собственную it, то она будет иметь возможность перед началом каждого вернуться на «домашнюю» страницу моего сайта.

Пример желаемого кода:

describe('this is a test',function(){
    it('will be a test example',function(){
        cy.contains('test').click
    })
    it('will test another test',function(){
        cy.contains('another test').click()
    })
})

Есть ли способ для этих нескольких it функций продолжить в предыдущем тесте, вместо того, чтобы иметь эффект beforeEach?

Заранее спасибо.

1 Ответ

1 голос
/ 10 мая 2019

Вы можете использовать beforeEach() и before().Поведение обоих немного отличается.before() применяется только один раз за describe() beforeEach() применяется для каждого it() в describe()

Таким образом, что вы должны сделать: Поместите все шаги, которые вы хотите выполнить, только один раз за describe()в before().Если все еще остаются шаги, которые вы хотите выполнять каждые it(), поместите их в beforeEach().

Обратите внимание, что вы можете использовать одновременно и before(), и beforeEach().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...