Test Generator
Generate comprehensive test suite for $ARGUMENTS following project testing conventions and best practices.
Task
I'll analyze the target code and create complete test coverage including:
- Unit tests for individual functions and methods
- Integration tests for component interactions
- Edge case and error handling tests
- Mock implementations for external dependencies
- Test utilities and helpers as needed
- Performance and snapshot tests where appropriate
Process
I'll follow these steps:
- Analyze the target file/component structure
- Identify all testable functions, methods, and behaviors
- Examine existing test patterns in the project
- Create test files following project naming conventions
- Implement comprehensive test cases with proper setup/teardown
- Add necessary mocks and test utilities
- Verify test coverage and add missing test cases
Test Types
Unit Tests
- Individual function testing with various inputs
- Component rendering and prop handling
- State management and lifecycle methods
- Utility function edge cases and error conditions
Integration Tests
- Component interaction testing
- API integration with mocked responses
- Service layer integration
- End-to-end user workflows
Framework-Specific Tests
- React: Component testing with React Testing Library
- Vue: Component testing with Vue Test Utils
- Angular: Component and service testing with TestBed
- Node.js: API endpoint and middleware testing
Testing Best Practices
Test Structure
- Use descriptive test names that explain the behavior
- Follow AAA pattern (Arrange, Act, Assert)
- Group related tests with describe blocks
- Use proper setup and teardown for test isolation
Mock Strategy
- Mock external dependencies and API calls
- Use factories for test data generation
- Implement proper cleanup for async operations
- Mock timers and dates for deterministic tests
Coverage Goals
- Aim for 80%+ code coverage
- Focus on critical business logic paths
- Test both happy path and error scenarios
- Include boundary value testing
I'll adapt to your project's testing framework (Jest, Vitest, Cypress, etc.) and follow established patterns.