Je souhaite activer/désactiver un seul test, je n'ai donc pas à attendre mes autres tests pour voir le résultat d'un test.
Actuellement, je commente mes autres tests, mais c'est vraiment ennuyeux.
Existe-t-il un moyen d'activer/désactiver un seul test dans Cypress
?
cypress run --spec path/to/file.spec.js
ou en utilisant des modèles glob
Remarque: vous devez encapsuler vos modèles globaux entre guillemets simples pour éviter l'expansion de Shell!
cypress run --spec 'path/to/files/*.spec.js'
Oui, vous pouvez utiliser un .only
comme décrit dans les documents Cypress
it.only('only run this one', () => {
})
it('not this one', () => {
})
Vous pouvez également faire de même avec les blocs describe
et context
il y a aussi une extension Nice VSCode
pour ajouter/supprimer .only
est plus facile avec les raccourcis clavier. Cela s'appelle Test Utils (fonctionne avec js, coffee et TypeScript):
Il existe plusieurs façons d'y parvenir.
.only
à it
ou describe
voir @bkucera réponsenpx cypress run --record --spec "cypress/integration/my-spec.js" npm run cypress -- --record --spec "cypress/integration/my-spec.js"
Il y a un moyen que j'ai trouvé pour ignorer les tests que je n'ai pas besoin d'exécuter (dans le test en cours), et c'est d'utiliser: 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. Il est important d'utiliser la fonction régulière comme deuxième argument, cela ne sera pas disponible dans la fonction flèche
2. L'ensemble du test sera ignoré, peu importe où nous écrivons this.skip ()
Vous pouvez désactiver les suites de tests inutiles et les cas particuliers en ajoutant x
à l'appel des méthodes testrunner (describe
, it
, etc.)
Cela ressemblerait donc à:
// 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', () => { ... });
});
Vous pouvez exécuter le test comme ceci.
cypress run --spec **/file.js