npx claudepluginhub duthaho/claudekit --plugin claudekitThis skill uses the workspace's default tool permissions.
- Writing Python tests with pytest (fixtures, parametrize, markers, coverage)
Provides Vitest patterns for unit/integration tests, vitest.config, vi.mock/vi.fn mocking, snapshots, coverage, assertions, and async testing.
Delivers Vitest best practices for test setup, async patterns, vi.* mocking, snapshots, and performance. Use when writing, debugging, or reviewing Vitest tests.
Guides Jest test writing with matchers, async testing, mocking functions/modules, snapshots, configuration, CLI, and coverage for JavaScript/TypeScript projects including React/Vue.
Share bugs, ideas, or general feedback.
playwrighttesting-anti-patternstest-driven-development| Framework | Reference | Key features |
|---|---|---|
| pytest | references/pytest.md | Fixtures, parametrize, conftest, markers, coverage, async tests |
| Vitest | references/vitest.md | vi.mock, vi.fn, Testing Library, MSW, workspace, coverage |
| Jest | references/jest.md | jest.mock, jest.fn, @jest/globals, NestJS testing, migration to Vitest |
test_[function]_[scenario]_[expected] (Python) or it('should [behavior]') (JS/TS).vi.clearAllMocks() in beforeEach or jest.restoreAllMocks() in afterEach.userEvent over fireEvent for React component testing (simulates real user behavior).getByRole, getByLabelText over getByTestId).-x for fast feedback.await in async tests. Omitting await makes tests pass vacuously.vi.mock()/jest.mock() calls are hoisted — variables referenced in mock implementations may be undefined.vi.useRealTimers() in afterEach breaks subsequent tests.testing-anti-patterns — Common testing mistakes to avoidtest-driven-development — TDD workflowplaywright — End-to-end browser testing