Sometimes you want to run only some tests or skip others to save time or focus on a problem. Cypress lets you do this easily.
Skipping and focusing tests (.skip, .only) in Cypress
Introduction
Syntax
Cypress
it.skip('test name', () => { ... }) it.only('test name', () => { ... }) describe.skip('group name', () => { ... }) describe.only('group name', () => { ... })
.skip tells Cypress to ignore that test or group.
.only tells Cypress to run only that test or group and skip others.
Examples
Cypress
it.skip('does not run this test', () => { cy.visit('/home') cy.contains('Welcome') })
Cypress
it.only('runs only this test', () => { cy.visit('/login') cy.get('input').type('user') })
Cypress
describe.skip('skip this group', () => { it('test 1', () => {}) it('test 2', () => {}) })
Cypress
describe.only('run only this group', () => { it('test 1', () => {}) it('test 2', () => {}) })
Sample Program
This suite has three tests. The second test is skipped. The third test is focused with .only, so only it runs.
Cypress
describe('My Test Suite', () => { it('test 1 runs normally', () => { cy.wrap(true).should('be.true') }) it.skip('test 2 is skipped', () => { cy.wrap(false).should('be.true') }) it.only('test 3 runs only this test', () => { cy.wrap(5).should('equal', 5) }) })
Important Notes
Using .only anywhere will cause Cypress to run only those tests or groups marked with it.
Be careful to remove .only before final test runs to avoid missing tests.
.skip is useful to temporarily disable flaky or incomplete tests.
Summary
.skip skips tests or groups so they don't run.
.only runs only the marked tests or groups, skipping all others.
These help focus testing and save time during development.
Practice
1. What does the
.skip method do in Cypress testing?easy
Solution
Step 1: Understand the purpose of
The.skip.skipmethod is used to tell Cypress to ignore a test or group during execution.Step 2: Compare with other methods
Unlike.only, which runs only the marked tests,.skipprevents the marked tests from running.Final Answer:
It skips the marked test or group so it does not run. -> Option AQuick Check:
.skip= skip test [OK]
Hint: Remember: skip means ignore this test [OK]
Common Mistakes:
- Confusing .skip with .only
- Thinking .skip runs the test
- Assuming .skip marks test as failed
2. Which of the following is the correct syntax to run only one test in Cypress?
easy
Solution
Step 1: Identify the method to run only one test
Theit.onlysyntax runs only the marked test and skips all others.Step 2: Check other options
it.skipskips a test,describe.onlyruns only a group, anddescribe.skipskips a group.Final Answer:
it.only('test name', () => { /* test code */ }) -> Option CQuick Check:
it.onlyruns only one test [OK]
Hint: Use it.only to run just one test [OK]
Common Mistakes:
- Using describe.only to run a single test
- Confusing skip and only syntax
- Forgetting parentheses in function
3. Given the code below, which tests will run?
describe('Group A', () => {
it('Test 1', () => { /* code */ })
it.only('Test 2', () => { /* code */ })
it('Test 3', () => { /* code */ })
})
describe.only('Group B', () => {
it('Test 4', () => { /* code */ })
it('Test 5', () => { /* code */ })
})medium
Solution
Step 1: Understand
Thedescribe.onlyeffectdescribe.only('Group B')means only Group B runs; Group A is skipped.Step 2: Understand
Even thoughit.onlyinside Group Ait.only('Test 2')is inside Group A, Group A is skipped entirely because ofdescribe.onlyon Group B.Step 3: Determine which tests run
All tests inside Group B run (Test 4 and Test 5). Test 2 does not run because Group A is skipped.Final Answer:
Only all tests in Group B run. -> Option DQuick Check:
describe.onlyoverridesit.only[OK]
Hint: describe.only runs only that group, ignoring it.only inside others [OK]
Common Mistakes:
- Thinking it.only inside skipped describe runs
- Ignoring describe.only effect
- Assuming all tests run
4. You have this Cypress test code:
describe.skip('Group X', () => {
it.only('Test A', () => { /* code */ })
it('Test B', () => { /* code */ })
})
describe('Group Y', () => {
it('Test C', () => { /* code */ })
})
What is the problem with this code?medium
Solution
Step 1: Analyze
The entire Group X is skipped, so none of its tests run, includingdescribe.skipeffect on Group Xit.only.Step 2: Analyze Group Y tests
Group Y is not skipped, so its test (Test C) runs normally.Final Answer:
Test C will run but Group X tests will be skipped. -> Option AQuick Check:
describe.skipskips whole group, ignoringit.only[OK]
Hint: describe.skip disables all tests inside, even it.only [OK]
Common Mistakes:
- Assuming it.only overrides describe.skip
- Thinking some tests in skipped group run
- Confusing which group is skipped
5. You want to run only a specific test inside a group but also skip another test in the same group. Which is the correct way to do this?
describe('My Tests', () => {
it('Test 1', () => { /* code */ })
it('Test 2', () => { /* code */ })
it('Test 3', () => { /* code */ })
})
Options:
A) Add .only to Test 2 and .skip to Test 3.
B) Add .skip to Test 1 and .only to Test 3.
C) Add .only to Test 1 and .skip to Test 2.
D) Add .skip to Test 2 and .skip to Test 3.hard
Solution
Step 1: Understand .only and .skip usage
Using.onlyon a test runs only that test, skipping all others unless they also have.only. Using.skipskips that test.Step 2: Apply to given tests
To run only Test 2 and skip Test 3, add.onlyto Test 2 and.skipto Test 3. Test 1 will be skipped automatically because of.only.Final Answer:
Add .only to Test 2 and .skip to Test 3. -> Option BQuick Check:
.onlyruns test,.skipskips test [OK]
Hint: Use .only on test to run, .skip on test to ignore [OK]
Common Mistakes:
- Adding .only to multiple tests without need
- Skipping tests that .only already excludes
- Confusing which test to skip or run
Recommended
Ready to prove it?
Pass the test and this pattern moves unknown
10 questions ~5 mineasy hard
