Cypress: run only one test
I want to toggle only running one test, so I don't have to wait for my other tests to see the result of one test.
Currently, I comment out my other tests, but this is really annoying.
Is there a way to toggle only running one test in Cypress
?
to run only one file
cypress run --spec path/to/file.spec.js
or using glob patterns:
cypress run --spec 'path/to/files/*.spec.js'
Note: you need to wrap your glob patterns in single quotes to avoid shell expansion!
to run only one test in a file
You can use a .only
as described in the Cypress docs
it.only('only run this one', () => {
// similarly use it.skip(...) to skip a test
})
it('not this one', () => {
})
Also, you can do the same with describe
and context
blocks
edit:
there's also a nice VSCode
extension to make adding/removing .only
's easier with keyboard shortcuts. It's called Test Utils (install with ext install chrisbreiding.test-utils
). It works with js, coffee, and typescript:
There are multiple ways of achieving this.
- You can add
.only
toit
ordescribe
see @bkucera answer - You can do it from the terminal as explained in the doc here
npx cypress run --record --spec "cypress/integration/my-spec.js" npm run cypress -- --record --spec "cypress/integration/my-spec.js"