Unit tests are the foundation of reliable software.
Principles
- Fast - Quick to execute
- Independent - No dependencies between them
- Repeatable - Same result always
- Self-validating - Automatic pass/fail
- Timely - Written at the right time
Tools
- Python: pytest
- JavaScript: Jest
- .NET: xUnit
- Java: JUnit 5
