Bats Testing Patterns
Comprehensive guidance for writing comprehensive unit tests for shell scripts using Bats (Bash Automated Testing System), including test patterns, fixtures, and best practices for production-grade shell testing.
Use this skill when
- •Writing unit tests for shell scripts
- •Implementing TDD for scripts
- •Setting up automated testing in CI/CD pipelines
- •Testing edge cases and error conditions
- •Validating behavior across shell environments
Do not use this skill when
- •The project does not use shell scripts
- •You need integration tests beyond shell behavior
- •The goal is only linting or formatting
Instructions
- •Confirm shell dialects and supported environments.
- •Set up a test structure with helpers and fixtures.
- •Write tests for exit codes, output, and side effects.
- •Add setup/teardown and run tests in CI.
- •If detailed examples are required, open
resources/implementation-playbook.md.
Resources
- •
resources/implementation-playbook.mdfor detailed patterns and examples.