Skip to content

Code Reference Map

When to Use

You need testing frameworks, tools, or resources for your specific language/framework. This is a curated map of authoritative resources.

Essential Books (Language-Agnostic)

Test-Driven Development: By Example - Kent Beck (2002) - The foundational TDD book - Language: Java and Python examples - Covers: Red-Green-Refactor, test patterns, TDD rhythm - Still relevant in 2025

Clean Code - Robert C. Martin (2008) - Chapters on TDD and testing principles - Language: Java - Covers: Test quality, FIRST principles, clean tests

Growing Object-Oriented Software, Guided by Tests - Steve Freeman & Nat Pryce (2009) - Advanced TDD techniques - Language: Java - Covers: Outside-in TDD, mock objects, test-driven design

Refactoring: Improving the Design of Existing Code - Martin Fowler (2018, 2nd ed) - Essential for the Refactor step in TDD - Language: JavaScript (1st ed was Java) - Covers: Code smells, refactoring catalog, refactoring under tests

Effective Behavior-Driven Development - Gaspar Nagy & Seb Rose (2025) - Modern BDD practices - Language: Gherkin/Cucumber - Covers: Discovery, formulation, automation with BDD

Testing Frameworks by Language

Python - pytest - https://pytest.org - Industry standard, powerful fixtures, plugins - unittest - https://docs.python.org/3/library/unittest.html - Built-in, xUnit style - doctest - Built-in, tests in docstrings - Hypothesis - Property-based testing - Coverage: coverage.py, pytest-cov

JavaScript/TypeScript - Jest - https://jestjs.io - React ecosystem, batteries included - Vitest - https://vitest.dev - Modern, Vite-based, fast - Mocha - Classic, flexible - Jasmine - BDD style - E2E: Playwright, Cypress - Coverage: Istanbul (nyc), built into Jest/Vitest

PHP - PHPUnit - https://phpunit.de - Industry standard - Pest - Modern, elegant syntax, built on PHPUnit - Codeception - Full-stack testing (unit, integration, E2E) - Behat - BDD with Gherkin - Coverage: Xdebug with PHPUnit

Java - JUnit 5 - https://junit.org/junit5 - Industry standard - TestNG - Alternative with advanced features - Mockito - Mocking framework - AssertJ - Fluent assertions - Cucumber-JVM - BDD - Coverage: JaCoCo, Cobertura

C#/.NET - xUnit - https://xunit.net - Modern, recommended by Microsoft - NUnit - Classic, widely used - MSTest - Microsoft's built-in - Moq - Mocking - SpecFlow - BDD - Coverage: Coverlet, dotCover

Ruby - RSpec - https://rspec.info - BDD style, most popular - Minitest - Built-in, fast, simple - Cucumber - BDD with Gherkin - Coverage: SimpleCov

Go - testing - https://pkg.go.dev/testing - Built-in, standard - testify - Assertions and mocks - Ginkgo - BDD style - gomock - Mocking - Coverage: go test -cover (built-in)

Rust - cargo test - Built-in test framework - proptest - Property-based testing - mockall - Mocking - Coverage: cargo-tarpaulin

BDD Tools

Gherkin/Cucumber Family - Cucumber (Ruby, Java, JavaScript) - https://cucumber.io - Behat (PHP) - https://behat.org - SpecFlow (.NET) - https://specflow.org - behave (Python) - https://behave.readthedocs.io

Mocking Libraries

See Test Doubles for when to use each type.

Python:      unittest.mock (built-in), pytest-mock
JavaScript:  Sinon.js, Jest (built-in), Vitest (built-in)
PHP:         Mockery, Prophecy, PHPUnit mocks
Java:        Mockito, EasyMock, PowerMock
C#:          Moq, NSubstitute, FakeItEasy
Ruby:        RSpec mocks (built-in), Mocha
Go:          gomock, testify/mock

Web Resources

Martin Fowler's Blog - https://martinfowler.com - Authoritative articles on testing, refactoring, TDD - Test Double, Test Pyramid, Mocks Aren't Stubs

Kent C. Dodds - https://kentcdodds.com - Testing Trophy, JavaScript testing practices - "Write tests. Not too many. Mostly integration."

Thoughtworks Technology Radar - https://www.thoughtworks.com/radar - Emerging testing tools and practices - Spec-Driven Development coverage (2025)

OWASP - https://owasp.org - Security testing best practices - Top 10 vulnerabilities to test for

Community Resources

Drupal at Your Fingertips - https://www.drupalatyourfingertips.com/ - Selwyn Polit's comprehensive Drupal development resource - PHP/Drupal testing patterns and examples

Test-Driven Development MOOC - https://tdd.mooc.fi - Free online course on TDD fundamentals - Interactive exercises

Spec-Driven Development Tools (2025+)

GitHub Spec Kit - https://github.com/github/spec-kit - Open-source SDD framework - CLI, templates, prompts for spec to plan to tasks to code

Amazon Kiro - https://aws.amazon.com/kiro - AWS's SDD tool - Spec to design to tasks workflow

Claude Code - https://claude.com/claude-code - AI coding assistant with spec support - Read specs from files, generate implementation

Cursor - https://cursor.sh - AI-powered IDE - Spec-aware code generation

See Also