A pure-Fish test runner for testing scripts, functions, and plugins directly in the Fish shell.
Fishtape is a test runner built specifically for the Fish shell, enabling developers to write and run tests for shell scripts, functions, and plugins directly within Fish. It solves the problem of testing shell code in a native, isolated environment without relying on external testing frameworks or leaving the shell.
Fish shell users, including developers writing Fish scripts, plugin authors, and system administrators who need to test shell functionality and automate validation in Fish environments.
Developers choose Fishtape for its pure-Fish implementation, TAP compliance for integration with existing tooling, and its simplicity in writing tests using familiar Fish syntax, making it the go-to testing solution for the Fish ecosystem.
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.
Built entirely in Fish with no external dependencies, ensuring seamless integration and minimal setup for Fish shell users.
Outputs standard Test Anything Protocol, enabling compatibility with numerous CI/CD tools and external reporters for flexible workflow integration.
Each test file runs in its own shell instance, preventing global environment pollution and ensuring test independence and reliability.
Leverages Fish's built-in `test` operators with the `@test` function, allowing for expressive and familiar test definitions without learning a new syntax.
The README explicitly states that operators like `-a` and `-o` are not supported, limiting the ability to write complex conditional test expressions.
Designed exclusively for the Fish shell, making it unsuitable for cross-shell testing or environments where other shells are predominant.
Produces plain TAP output; richer reporting requires piping to external tools, adding complexity for teams seeking integrated visual feedback.