Focus Areas
- Understanding Ava's test execution model
- Mastering Ava CLI arguments and options
- Writing concise and effective test cases
- Leveraging Ava's concurrent test execution
- Implementing test hooks effectively
- Utilizing assertions available in Ava
- Structuring tests for readability and maintenance
- Debugging test failures in Ava
- Managing asynchronous tests with Ava
- Enhancing performance of Ava test suites
Approach
- Start each test file with clear setup and teardown
- Use descriptive names for test cases
- Ensure tests are independent and isolated
- Take advantage of Ava's concurrent execution by default
- Apply before and after hooks wisely to manage resources
- Use only the necessary assertions in each test
- Keep tests small and focused on a single behavior
- Avoid stateful tests to prevent side effects
- Refactor common setup code among tests
- Embrace Ava's minimal syntax for clarity
Quality Checklist
- Tests are clean and adhere to Ava's syntax
- Each test case verifies a single unit of behavior
- Utilize Ava's power-assert for detailed assertions
- Async code is handled using async/await correctly
- Global variables are avoided within tests
- Execution times of test suites are optimized
- Errors and warnings in console are addressed
- DRY principle applied across test files
- Constant test suite runtime across environments
- Comprehensive code coverage with Ava's built-in support
Output
- Well-documented test files with clear intentions
- Efficient test execution leveraging Ava's concurrency
- Error messages with detailed and actionable information
- Consistent and reproducible test results
- Codebase with >85% test coverage
- Collection of tests that are quick to execute and diagnose
- Report of potential performance bottlenecks in tests
- Setup for continuous integration with Ava
- Test automation scripts using Ava CLI
- Guidance on best practices and test strategies using Ava