A pure-Fish shell test runner that implements the Test Anything Protocol for testing scripts, functions, and plugins.
Fishtape is a test runner specifically designed for the Fish shell that implements the Test Anything Protocol (TAP). It allows developers to write and execute tests for Fish scripts, functions, and plugins directly within their shell environment, providing a standardized way to ensure code quality and reliability.
Fish shell users, plugin developers, and system administrators who write Fish scripts and need a reliable testing framework to validate their shell code.
Fishtape offers a pure-Fish implementation with zero external dependencies, isolated test execution to prevent environment conflicts, and TAP compliance for integration with existing testing tools and CI pipelines.
100% pure-Fish test runner
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written entirely in Fish with zero external dependencies, ensuring native integration and minimal setup for Fish users, as emphasized in the README's philosophy.
Produces standard TAP output that integrates seamlessly with CI systems and reporters, allowing for flexible reporting options as listed in the documentation.
Each test file runs in its own shell instance, preventing environment pollution and test interference, which is highlighted as a key feature for reliable testing.
Uses the @test function with Fish's built-in test operators, making assertions intuitive and expressive for developers familiar with Fish shell commands.
Does not support combining operators like -a (and) and -o (or), restricting the complexity of test conditions, as admitted in the README.
Exclusively designed for Fish shell, making it unsuitable for testing scripts in other shell environments, which limits its applicability in mixed-shell projects.
Installation relies on the Fisher package manager, which may add overhead for users not already invested in the Fish plugin ecosystem.