| name | rust-testing |
| description | Use when adding or modifying tests. Ensures behavior changes are covered with focused tests and fast feedback. |
rust-testing Skill
Use this skill when adding or modifying tests in this repository.
Goal
Ensure behavior changes are covered with focused tests and fast feedback loops.
Test Strategy
- Unit tests for pure logic and validation helpers.
- Integration-like checks for command-level behavior when practical.
- Regression tests for security-sensitive fixes.
What to Test
- Config parsing/validation (
src/config.rs)
- DNS response routing/forwarding decisions (
src/dns.rs)
- Proxy routing/header/body constraints (
src/proxy.rs)
- Key/cert file handling constraints (
src/ca.rs)
Rules
- Keep test scopes tight (one behavior per test).
- Name tests by behavior, not implementation details.
- Prefer deterministic fixtures and fixed inputs.
- Avoid network dependency in unit tests.
Commands
cargo test -q
cargo check --workspace
cargo run -p xtask -- fmt-check
Done Criteria
- New behavior is covered.
- Existing tests still pass.
- Tests remain readable and maintainable.