Test-Driven Development Guide (Rust & SQL)

Guide test-driven development for Rust and SQL codebases with DuckDB validation.

Updated Mar 14, 2026
One-click install
npx skills add https://github.com/danielmichaels/knative-dash --skill test-driven-development-guide-rust-sql
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Test-Driven Development Guide (Rust & SQL)
Source: https://github.com/danielmichaels/knative-dash/tree/main/.claude/skills/tdd
Command: npx skills add https://github.com/danielmichaels/knative-dash --skill test-driven-development-guide-rust-sql

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a rigorous framework for developing robust and maintainable Rust and SQL codebases by emphasizing test-driven development principles. It aims to prevent common pitfalls like brittle tests and implementation-detail coupling.

Core Features & Use Cases

  • TDD Methodology: Guides users through vertical slicing, tracer bullets, and incremental development.
  • Rust-Specific Rules: Details best practices for unit testing, mocking, and asynchronous testing in Rust.
  • SQL-Specific Rules: Outlines how to effectively test SQL queries against a real database (DuckDB) with minimal seed data.
  • Reference Materials: Links to related guides on deep modules, interface design, mocking, refactoring, and test patterns.
  • Use Case: A developer starting a new Rust service needs to implement a data access layer. They can use this Skill to ensure all new database interactions are covered by effective, integration-style tests from the outset.

Quick Start

Follow the practical workflow outlined in the TDD guide to write a single test for a new behavior, then implement the minimal code to pass it.

Frequently Asked Questions about Test-Driven Development Guide (Rust & SQL)

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write integration-style tests for Rust and SQL using TDD?

Test-driven development for Rust uses the framework to write tests through public interfaces, avoiding brittle implementation-detail coupling. It emphasizes vertical slicing, integration-style tests, and specific mocking strategies to ensure robust, maintainable Rust code.

What is the best way to test SQL queries against DuckDB in a Rust service?

Testing SQL queries against DuckDB involves validating queries with minimal seed data on a real database instance. This integration-style approach prevents brittle tests and ensures your Rust data access layer functions correctly within a TDD workflow.

How do I structure Rust modules to avoid brittle tests and implementation-detail coupling?

To avoid brittle tests and implementation-detail coupling in Rust, structure modules with deep interfaces and test exclusively through public APIs. This TDD methodology uses vertical slicing and incremental development to maintain robust, maintainable codebases.

Can I use mocking strategies for asynchronous testing in Rust?

Mocking strategies for asynchronous testing in Rust are supported through specific framework rules that validate behavior without coupling tests to internal implementation details. This ensures robust, maintainable codebases within a TDD workflow.

When should I use vertical slicing and tracer bullets in software development?

You should use vertical slicing and tracer bullets in software development when starting a new Rust service or data access layer. This incremental TDD methodology ensures end-to-end functionality is validated early, preventing brittle tests and implementation-detail coupling.