Cypress: запустить только один тест

Я хочу переключиться только на выполнение одного теста, поэтому мне не нужно ждать, пока другие мои тесты увидят результаты одного теста.

В настоящее время я комментирую мои другие тесты, но это действительно раздражает.

Есть ли способ переключить запуск только одного теста в Cypress?

Ответ 1

Да, вы можете использовать .only, как описано в документации Cypress

it.only('only run this one', () => {
})

it('not this one', () => {
})

Также вы можете сделать то же самое с блоками describe и context

Редактирование:

Также есть приятное расширение VSCode, чтобы упростить добавление/удаление .only с помощью сочетаний клавиш. Он называется Test Utils:

enter image description here

Ответ 2

Есть несколько способов достижения этого.

  1. Вы можете добавить .only к it или describe, см. ответ @bkucera
  2. Вы можете сделать это из терминала, как описано в документе здесь
     npx cypress run --record --spec "cypress/integration/my-spec.js"
    
     npm run cypress -- --record --spec "cypress/integration/my-spec.js"
    

Ответ 3

Я нашел один способ пропустить тесты, которые мне не нужно запускать (в текущем тесте), а именно: this.skip();

it('test page', function () {
    // skip this test for now
    this.skip();
    cy.visit('http://example.com/')
    cy.contains('test page').click()
    cy.url()
        .should('include', '/test-page/')
})