Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Testing

Running tests

# Full workspace
cargo test --workspace

# Single crate
cargo test -p redshank-core
cargo test -p redshank-fetchers

Test organisation

ModuleWhat’s tested
domain/Pure unit tests — no I/O, no async
application/commands/Command handlers with in-memory stores
application/services/Engine loop with scripted model
adapters/persistence/SQLite store with temp-dir database
adapters/providers/Provider parsers with fixture responses
adapters/tools/Workspace tools with temp-dir workspace
redshank-fetchers/Fetcher HTTP logic with wiremock
redshank-core/tests/Full-stack integration test

TDD policy

Write a failing test before implementation code. Every public function needs at least one test. All tests must pass before a task is marked complete.

Integration test

redshank-core/tests/integration.rs runs a full agent loop using a scripted MockModelProvider that returns deterministic tool calls and a final answer. No network access required.