test-runner

Installation
SKILL.md

Test Runner

Execute and manage Rust tests for the self-learning memory project.

Commands

# Unit tests (fast, <30s)
cargo nextest run --lib

# Integration tests
cargo nextest run --test '*'

# Full suite
cargo nextest run --all
cargo test --doc  # doctests (nextest unsupported)

# Quality gates (coverage threshold 90%)
./scripts/quality-gates.sh

Test Categories

Category Command Scope
Unit cargo nextest run --lib Individual functions
Integration cargo nextest run --test '*' End-to-end workflows
Doc cargo test --doc Documentation examples
Mutation cargo mutants -p do-memory-core Test effectiveness

Best Practices

  • Isolation: Each test independent
  • AAA pattern: Arrange-Act-Assert
  • Single responsibility: One behavior per test
  • Naming: test_<function>_<scenario>_<expected>
  • Speed: <1s per unit test

Async Testing

#[tokio::test]
async fn test_episode() { let result = async_fn().await; }

#[tokio::test(start_paused = true)]
async fn test_timeout() { /* paused clock */ }

#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
async fn test_concurrent() { /* parallel ops */ }
Bad Good
std::thread::sleep() tokio::time::sleep().await
Missing .await Always await async

Troubleshooting

Issue Fix
Race conditions cargo test -- --test-threads=1
redb lock errors Separate DB per test
DB connection refused Check TURSO_URL/TURSO_TOKEN

Coverage

cargo llvm-cov --html --output-dir coverage

References

  • ADR-033: Modern Testing Strategy

Related skills: test-patterns for test design, test-optimization for performance-focused test work, and test-fix for failing-suite diagnosis.

Related skills

More from d-o-hub/rust-self-learning-memory

Installs
32
GitHub Stars
7
First Seen
Feb 21, 2026