| name | writing-tests |
| description | Write unit tests, component tests, and integration tests for AiderDesk using Vitest and React Testing Library. Use when creating new tests, adding test coverage, configuring mocks, setting up test files, or debugging failing tests. |
Writing Tests
Write effective tests using Vitest and React Testing Library.
Quick Start
Create a unit test in packages/common/__tests__/utils/math.test.ts:
import { describe, it, expect } from 'vitest';
import { add } from '../../utils/math';
describe('math utility', () => {
it('adds two numbers correctly', () => {
expect(add(1, 2)).toBe(3);
});
});
Run tests with npm run test.
Core Patterns
Unit Testing
Focus on pure functions and logic in src/main or packages/common. Use vi.mock() for dependencies.
Component Testing
Test React components in src/renderer. Focus on user interactions and props.
Mocking
Use centralized mock factories for consistent testing across components and contexts.
Debugging Failing Tests
- Read the error output and identify the failing assertion
- Check mock setup — verify
vi.mock() paths and return values match expectations
- For component tests, inspect rendered output with
screen.debug()
- Run a single test in isolation:
npm run test:node -- --no-color -t "test name"
- Verify coverage:
npm run test:coverage to confirm new code is tested
Advanced Usage
For detailed information: