Delphi TDD and DUnitX

Dwingt strikte Red-Green-Refactor TDD af met DUnitX, fakes-via-interface en naamgevingsconventies in Delphi.

Door delphicleancode · delphicleancode/delphi-spec-kit

Getest · Werkt ★ 9.2/10

Delphi TDD and DUnitX — Dwingt strikte Red-Green-Refactor TDD af met DUnitX, fakes-via-interface en naamgevingsconventies in Delphi.

Wat het doet

Gedragsrichtlijnen voor het schrijven van Delphi-tests: dwingt test-first Red-Green-Refactor-volgorde af, DUnitX [TestFixture]/[Test]/[Setup]/[TearDown]-conventies, Action_Condition_ExpectedResult-naamgeving en afhankelijkheidsisolatie via handgeschreven Fake-klassen die interfaces implementeren (Delphi heeft geen ingebouwd mocking-framework). Activeert wanneer een gebruiker vraagt om TDD, unit-tests, DUnitX of fakes/mocks in een Delphi/Object Pascal-context.

Testrapport

Vroeg het om een kortingscalculator te bouwen met TDD: het weigerde de implementatie eerst te schrijven, schreef een falende DUnitX-test tegen een stub-methode, injecteerde een handgemaakte TFakeCustomer die ICustomer implementeerde in plaats van een concrete klasse aan te raken, en vulde vervolgens de minimale Green-implementatie in – precies de Red-Green-Refactor-volgorde die de baseline direct oversloeg.

Getest op: 2026-07-14 · Claude Code 2.x (agent harness)

Installatie

git clone https://github.com/delphicleancode/delphi-spec-kit
cd delphi-spec-kit
mkdir -p ~/.claude/skills
cp -r .claude/skills/tdd-dunitx ~/.claude/skills/delphi-test-driven-development-tdd-and-dunitx

Commando's en voorbeeldprompts

  • /delphi-test-driven-development-tdd-and-dunitxDwingt strikte Red-Green-Refactor TDD af met DUnitX, fakes-via-interface en naamgevingsconventies in Delphi.

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

  • Write a DUnitX test first, then implement this Delphi discount calculator
  • Build a fake ICustomer class for testing without a Delphi mocking library
  • Follow strict red-green-refactor while adding this Object Pascal method