Skip to content
Back to skills

Testing Tdd London

ASecurity

TDD London School (mockist) specialist for mock-driven, outside-in development.

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
testingtypescriptgobashtestinggit

Works with

  • mcp

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add vamseeachanta/workspace-hub --skill testing-tdd-london --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Testing Tdd London?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Testing Tdd London
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vamseeachanta-testing-tdd-london/badge)](https://www.skillsdirectory.com/skills/vamseeachanta-testing-tdd-london)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: testing-tdd-london
description: TDD London School (mockist) specialist for mock-driven, outside-in development.
  Use for behavior verification testing, contract-driven development, testing object
  collaborations, or when focusing on HOW objects interact rather than WHAT they contain.
version: 1.0.0
category: development
type: hybrid
capabilities:
- mock_driven_development
- outside_in_tdd
- behavior_verification
- contract_testing
- interaction_testing
- swarm_test_coordination
tools:
- Read
- Write
- Bash
- Task
related_skills:
- testing-production
- planning-code-goal
- webapp-testing
hooks:
  pre: "echo \"TDD London School session starting...\"\nif command -v npx >/dev/null\
    \ 2>&1; then\n  echo \"Coordinating with swarm test agents...\"\nfi\n"
  post: "echo \"London School TDD complete - mocks verified\"\nif [ -f \"package.json\"\
    \ ]; then\n  npm test --if-present\nfi\n"
requires: []
tags: []
---

# Testing Tdd London

## Quick Start

```typescript
// 1. Start with acceptance test (outside)
describe('User Registration', () => {
  it('should register new user successfully', async () => {
    const mockRepository = { save: jest.fn().mockResolvedValue({ id: '123' }) };
    const mockNotifier = { sendWelcome: jest.fn() };

    const service = new UserService(mockRepository, mockNotifier);
    await service.register({ email: 'test@example.com' });

    // 2. Verify behavior (interactions)
    expect(mockRepository.save).toHaveBeenCalledWith(
      expect.objectContaining({ email: 'test@example.com' })
    );
    expect(mockNotifier.sendWelcome).toHaveBeenCalledWith('123');
  });
});
```

## When to Use

- Testing object collaborations and message passing
- Contract-driven development with clear interfaces
- Outside-in development starting from user behavior
- When isolation of units is critical
- Service orchestration testing
- Testing HOW objects work together (not WHAT they contain)

## Prerequisites

- Understanding of mock objects vs stubs
- Jest, Vitest, or similar testing framework with mocking support
- Clear separation of concerns in architecture
- Dependency injection pattern in codebase

## References

- [London School TDD](https://github.com/testdouble/contributing-tests/wiki/London-school-TDD)
- [Mocks Aren't Stubs](https://martinfowler.com/articles/mocksArentStubs.html)
- [Growing Object-Oriented Software](http://www.growing-object-oriented-software.com/)

## Version History

- **1.0.0** (2026-01-02): Initial release - converted from tdd-london-swarm agent

## Sub-Skills

- [Configuration](configuration/SKILL.md)
- [Example 1: Service Orchestration Test (+2)](example-1-service-orchestration-test/SKILL.md)
- [Mock Management (+2)](mock-management/SKILL.md)

## Sub-Skills

- [Execution Checklist](execution-checklist/SKILL.md)
- [Error Handling](error-handling/SKILL.md)

## Sub-Skills

- [London vs Chicago School (+2)](london-vs-chicago-school/SKILL.md)
- [1. Outside-In Development (+2)](1-outside-in-development/SKILL.md)
- [Metrics & Success Criteria](metrics-success-criteria/SKILL.md)
- [MCP Tools (+2)](mcp-tools/SKILL.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.