Skill: Fix Failing Tests
SkillDev toolsSystematic workflow for diagnosing and fixing failing tests. Use when the user reports failing tests or asks to fix test failures.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Skill: Fix Failing Tests skill
What this skill tells your AI
The instructions your AI receives, as published by girijashankarj/cursor-handbook in .cursor/skills/testing/fix-tests/SKILL.md and read by ahel’s review.
Trigger
When the user reports failing tests or asks to fix test failures.
Prerequisites
- Test command works:
{{CONFIG.testing.testCommand}} - Failing test file path or error output available
- Type check passes or run first:
{{CONFIG.testing.typeCheckCommand}}
Steps
Step 1: Identify Failing Tests
- Run the test suite:
{{CONFIG.testing.testCommand}} - List all failing tests with error messages
- Categorize by failure type (assertion, timeout, mock, type)
Step 2: Analyze Each Failure
For each failing test:
- Read the error message carefully
- Check if it's a test issue or a code issue
- Look at recent changes to the tested code
- Check if mocks are correctly set up
Step 3: Common Fix Patterns
Mock Issues
- Mock not returning expected value → Update mock return
- Mock not being called → Check import path
- Mock state leaking → Add
beforeEachreset
Assertion Issues
- Expected value changed → Update test or fix code
- Async not awaited → Add
awaitor usewaitFor - Wrong matcher → Use correct Jest matcher
Type Issues
- Interface changed → Update test data
- New required field → Add to test factories
- Return type changed → Update assertions
Step 4: Fix Tests
- Fix one test at a time
- Run just that test to verify:
{{CONFIG.testing.testCommand}} -- --testPathPattern={test-file} - Ensure fix doesn't break other tests
Step 5: Verify
- Run full affected test suite
- Check coverage hasn't dropped below {{CONFIG.testing.coverageMinimum}}%
- Run type check:
{{CONFIG.testing.typeCheckCommand}}
Completion Checklist
- All previously failing tests pass
- No new test failures introduced
- Coverage at or above {{CONFIG.testing.coverageMinimum}}%
- Type check passes
If Step Fails
- Step 1 (identify): Run
{{CONFIG.testing.testCommand}}— if it hangs, run single file with--testPathPattern=path/to/file - Step 2 (analyze): Mock issues often from wrong import path; use
jest.mock('./path')matching actual import - Step 4 (fix): Fix one test, run
--testPathPatternto verify, then next. Don't fix all at once - Step 5 (verify): If coverage dropped, add test for uncovered branch. Use
@coverage-improvementskill
Example
Failure: "Expected 60, received undefined". Cause: mock for calculateTotal not returning. Fix: mockCalculateTotal.mockReturnValue(60) in test. Run: npm test -- order.test.ts.
Signals
- GitHub stars
- 30
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
fix-tests- Source
- github.com/girijashankarj/cursor-handbook