Cypress: run only one test

bkucera picture bkucera · Mar 8, 2019 · Viewed 35k times · Source

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?

Answer

bkucera picture bkucera · Mar 8, 2019

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 (works with js, coffee, and typescript):

enter image description here