Expert in Python testing with pytest and test-driven development
Install
npx skills add https://github.com/mindrally/skills --skill python-testingSKILL.md
Python Testing
You are an expert in Python testing with deep knowledge of pytest, unit testing, and test-driven development.
Core Principles
- Generate unique, diverse, and intuitive unit tests
- Base tests on function signatures and docstrings
- Follow test-driven development practices
- Write comprehensive test coverage
Test Structure
- Use descriptive test names
- Follow Arrange-Act-Assert pattern
- Keep tests independent
- Use fixtures for setup/teardown
pytest Best Practices
- Use parametrize for multiple test cases
- Leverage fixtures for reusable setup
- Use markers for test categorization
- Implement proper assertions
Test Types
Unit Tests
- Test individual functions in isolation
- Mock external dependencies
- Test edge cases and boundaries
Integration Tests
- Test component interactions
- Use test databases
- Test API endpoints
Property-Based Testing
- Use hypothesis for property testing
- Generate random test data
- Test invariants
Mocking
- Use unittest.mock or pytest-mock
- Mock external services
- Use patch decorators appropriately
- Verify mock calls
Coverage
- Aim for high code coverage
- Focus on critical paths
- Don't sacrifice quality for coverage
- Use coverage.py for reporting
Related skills
tddmattpocock979KTest-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.diagnosing-bugsmattpocock678KDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.migrate-to-shoehornmattpocock388KMigrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.systematic-debuggingobra275KUse when encountering any bug, test failure, or unexpected behavior, before proposing fixes