test-driven-development
SolidStrict red-green-refactor TDD workflow for implementing features, fixing bugs, or changing behavior in Rails applications. Enforces the discipline of writing a failing test before any production code. Use whenever you want to implement with TDD — whether a new feature, a bugfix, a refactor, or any behavior change.
Testing & QA 16 stars
1 forks Updated 1 weeks ago MIT
Install
Quality Score: 81/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# Test-Driven Development (TDD)
## Overview
Write the test first. Watch it fail. Write minimal code to pass.
**Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
**Violating the letter of the rules is violating the spirit of the rules.**
## The Iron Law
```
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
```
Write code before the test? Delete it. Start over.
**No exceptions:**
- Don't keep it as "reference"
- Don't "adapt" it while writing tests
- Don't look at it
- Delete means delete
Implement fresh from tests. Period.
## Outside-In Development
Start every feature with a high-level test that describes behavior from the user's perspective. Run it, read the failure, and let that failure dictate your next move. As failures push you down the stack, write a new failing test at each layer you drop into — never write code for a layer without a failing test at that layer demanding it.
Read `examples/outside-in-testing.md` for a walkthrough of the philosophy and `examples/testing-pyramid.md` for how test types combine into an optimal suite.
### One Change, One Run
After every change — writing a test, adding a route, creating a file, implementing a method — run the affected test immediately:
```bash
bundle exec rspec spec/features/guest_searches_for_items_spec.rb
```
The failure message is your instruction for what to do next. Don't batch changes and don't guess ahead: one change, one run, read the failure, decide. If you...
Details
- Author
- thoughtbot
- Repository
- thoughtbot/rails-consultant
- Created
- 4 months ago
- Last Updated
- 1 weeks ago
- Language
- Shell
- License
- MIT
Integrates with
Bundled in these plugins
Similar Skills
Semantically similar based on skill content — not just same category
Code & Development Solid
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
18 Updated today
Pythoughts-labs Testing & QA Listed
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
2 Updated 2 days ago
jasonm4130 Testing & QA Listed
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
3 Updated today
Ralph-Workflow