testing-best-practices

Unit testing, integration testing, and test-driven development principles. Use when writing tests, reviewing test code, improving test coverage, or setting up testing strategy. Triggers on "write tests", "review tests", "testing best practices", or "TDD".

By asyrafhussin · 668 installs

npx skills add asyrafhussin/agent-skills --skill testing-best-practices

Source repository · Upstream listing

Testing Best Practices Unit testing, integration testing, and TDD principles for reliable, maintainable test suites. Contains 34 rules across 7 categories using TypeScript with Jest/Vitest. Metadata Version: 2.0.0 Rule Count: 34 rules across 7 categories License: MIT When to Apply Reference these guidelines when: Writing unit or integration tests Reviewing test code quality Improving test coverage strategy Setting up testing infrastructure Debugging flaky or slow tests Rule Categories by Priority Priority Category Impact Prefix 1 Test Structure CRITICAL struct 2 Test Isolation CRITICAL iso 3 Assertions HIGH assert 4 Test Data HIGH data 5 Mocking MEDIUM mock 6 Coverage MEDIUM cov 7 Performance LOW perf Quick Reference 1. Test Structure (CRITICAL) struct aaa pattern Arrange, Act, Assert pattern struct descriptive names Descriptive test names struct one assertion One logical assertion per test struct describe it Organized test suites with describe/it struct given when then BDD style when appropriate struct setup teardown Proper setup and teardown 2. Test Isolation (CRITICAL) iso independent tests Tests run independently iso no shared state No shared mutable state iso deterministic Same result every run iso no order dependency Run in any order iso cleanup Clean up after tests iso test doubles Strategic use of test doubles 3. Assertions (HIGH) assert specific Use specific assertions assert meaningful messages Helpful failure messages assert expected actual Expected value first assert no magic numbers Use named constants assert custom matchers Custom matchers for domain logic 4. Test Data (HIGH) data factories Use factories for test data data builders Builder pattern for complex objects data faker Generate realistic fake data data minimal Minimal test data data realistic Realistic edge cases data fixtures Manage test fixtures 5. Mocking (MEDIUM) mock boundaries Mock only at boundaries mock verify interactions Verify important mock calls mock minimal Don't over mock mock realistic Realistic mock behavior with MSW 6. Coverage (MEDIUM) cov meaningful Focus on meaningful coverage cov edge cases Cover edge cases and boundary values cov unhappy paths Test error scenarios cov not 100 percent 100% coverage isn't the goal 7. Performance (LOW) perf fast unit Keep unit tests fast (<50ms each) perf parallel Run tests in parallel perf test organization Organize tests for fast feedback Essential Guidelines AAA Pattern (Arrange, Act, Assert) Descriptive Test Names Test Isolation How to Use Read individual rule files for detailed explanations: References [Vitest Documentation](https://vitest.dev) [Jest Documentation](https://jestjs.io) [Testing Library](https://testing library.com) [MSW (Mock Service Worker)](https://mswjs.io) Full Compiled Document For the complete guide with all rules expanded: AGENTS.md