Test Status
Cypress Test Statuses - detailed guide and explanation
Cypress test status is mostly straightforward and easy to interpret, however, there are a few confusing concepts that can be tricky to figure out.
A cypress test can be in one of the following states:
- Passed - a test successfully completed all attempts without any exceptions or errors during its execution
- Failed - a test that triggered an exception or one of its assertions failed for all of its attempts
- Ignored / Pending - a test was excluded by a developer, e.g.
it.skip()
and was excluded by cypress runner - Skipped - a test was not excluded by a developer, but wasn't run by cypress runner due to an error
- Flaky - a test that passed after a few failing attempts
A passed test was successfully executed by cypress runner, including all
before
and beforeEach
expressions. During its execution, the test runner didn't encounter any timeouts, exceptions or failed assertions. Please note, for tests with multiple attempts, if the last attempt was successful, the whole test will be marked as "Passed" but "Flaky". See Flaky Tests for details.

An example of passing Cypress test
A failing test is a test that has either triggered an exception, failed assertion or a timeout during the execution of
before
, beforeEach
or the test body for each of its attempts.A failed test activates capturing a stack trace, a screenshot and a video recording. All of those will be shown in Currents dashboard and are available for exploration of failed test details.
In some cases, cypress runner isn't able to capture a screenshot and useful error information - for example, when the spec file associated with the test cannot be parsed, or there's a crash in the runtime environment.

Example of a failed Cypress test in Currents dashboard
Ignored/pending
tests are tests that were:- explicitly marked by a developer to be excluded, e.g.
it.skip(),
describe.skip()
orxit()
- a test that is not implemented - i.e. a test that has no "body". For example,
it('nothing is here')
describe('Skip in Chrome', { browser: '!chrome' }, () => {/* ... */})

Example of a pending Cypress test
A skipped test is a test that was supposed to run but has been skipped because of a runtime error.
One of the most common examples is a situation where there's a crash in
beforeEach.
After unsuccessfully running the first test and recognizing an error in beforeEach,
Cypress runner "skips" the rest of the tests because they would obviously fail due to the same error.Practically, those tests are still failed - were cypress runners to run those tests, they would fail. That's why Currents dashboard marks spec files and runs with skipped tests as "failed"
Last modified 22d ago