Tc – Theodore Calvin's language-agnostic testing framework
4 months ago
- #testing
- #language-agnostic
- #unix
- tc is a language-agnostic test framework allowing tests to be written once and run against any language.
- Tests are organized as directories with JSON input/output files, requiring only `jq` as a dependency.
- The framework supports pattern matching in expected outputs for dynamic values like UUIDs and timestamps.
- Custom patterns can be defined via `TC_CUSTOM_PATTERNS` for specialized validation needs.
- Features include parallel test execution, tag-based filtering, and both TTY and non-TTY output modes.
- The vision emphasizes disposable applications where tests are permanent and implementations can be swapped freely.
- Includes tools for test generation (`tc new`), discovery (`tc list`), and metadata management (`tc tags`).
- Supports AI-driven workflows with `tc-kit` for automatic test generation from specifications.
- Requires bash 4.0+ and `jq`; installation involves cloning the repo and adding to PATH to avoid conflicts with Unix's `tc` command.