Zypresse: Führen Sie nur einen Test aus

Antworten:

108

nur eine Datei ausführen

cypress run --spec path/to/file.spec.js

oder mit Glob-Mustern:

cypress run --spec 'path/to/files/*.spec.js'

Hinweis: Sie müssen Ihre Glob-Muster in einfache Anführungszeichen setzen , um eine Shell-Erweiterung zu vermeiden!

um nur einen Test in einer Datei auszuführen

Sie können a .onlywie in den Cypress-Dokumenten beschrieben verwenden

it.only('only run this one', () => {
  // similarly use it.skip(...) to skip a test
})

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

Sie können dasselbe auch mit describeund contextBlöcken tun

bearbeiten:

Es gibt auch eine nette VSCodeErweiterung, um das Hinzufügen / Entfernen .onlymit Tastaturkürzeln zu vereinfachen. Es heißt Test Utils (funktioniert mit js, Kaffee und Typoskript):

Geben Sie hier die Bildbeschreibung ein

bkucera
quelle
26

Es gibt mehrere Möglichkeiten, dies zu erreichen.

  1. Sie können hinzufügen .onlyzu itoder describe@bkucera Antwort sehen
  2. Sie können dies vom Terminal aus tun, wie im Dokument hier erläutert
     npx cypress run --record --spec "cypress/integration/my-spec.js"
    
     npm run cypress -- --record --spec "cypress/integration/my-spec.js"
    
Morlo Mbakop
quelle
1
Das Einbeziehen des CLI-Beispiels machte diese Antwort für mich zur vollständigsten und hilfreichsten
BradGreens
2

Es gibt eine Möglichkeit, Tests zu überspringen, die ich nicht ausführen muss (im aktuellen Test), und zwar: 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/')
})

1. Es ist wichtig, die reguläre Funktion als zweites Argument zu verwenden. Diese Funktion ist in der Pfeilfunktion nicht verfügbar.
2. Der gesamte Test wird übersprungen, unabhängig davon, wo wir this.skip () schreiben.

Kevdog777
quelle
2

Sie können durch das Voranstellen nicht erforderlich Test - Suiten und besondere Fälle stumm xzu testrunner Methoden - Aufruf ( describe, itusw.)

So würde es aussehen:

// this whole testsuite will be muted
xdescribe('Visit google', () => { 
  it('should visit google', () => { cy.visit('https://google.com/'); });
});

// this testsuite will run
describe('Visit youtube', () => {
  it('should visit youtube', () => { cy.visit('https://youtube.com/'); });

  // this testcase will be muted
  xit('is not necessary', () => { ... });
});
Oleksandr Tkalenko
quelle
0

Sie können den Test so ausführen.

cypress run --spec ** / file.js

Marko
quelle