Testy automatyczne w ddd i architekturze heksagonalnej

9
Testy automatyczne w DDD i architekturze heksagonalnej Szymon Homa @s2lomon

Transcript of Testy automatyczne w ddd i architekturze heksagonalnej

Page 1: Testy automatyczne w ddd i architekturze heksagonalnej

Testy automatyczne w

DDD i architekturze

heksagonalnej

Szymon Homa

@s2lomon

Page 2: Testy automatyczne w ddd i architekturze heksagonalnej

Hexagonal Architecture

Alistair Cockburn, Hexagonal Architecture

Page 3: Testy automatyczne w ddd i architekturze heksagonalnej

Hexagonal Architecture z lekkim dodatkiem DDD

Alistair Cockburn, Hexagonal Architecture

Domain Model

Page 4: Testy automatyczne w ddd i architekturze heksagonalnej

Hexagonal Architecture wraz z Bounded Context

Alistair Cockburn, Hexagonal Architecture

Page 5: Testy automatyczne w ddd i architekturze heksagonalnej

Hexagonal Architecture

Alistair Cockburn, Hexagonal Architecture

Domain ModelKierunek interakcji

Page 6: Testy automatyczne w ddd i architekturze heksagonalnej

Testy w obszarze modelu

Alistair Cockburn, Hexagonal Architecture

Domain Model

100% Unit Test (TDD)

Głównie klasyczne TDD

Test Double tylko w przypadku

istnienia jawnej abstrakcji

(np. Strategy/Specyfication)

Warto zadbać o Test Fixture

Page 7: Testy automatyczne w ddd i architekturze heksagonalnej

Testy w warstwie aplikacji

Alistair Cockburn, Hexagonal Architecture

Domain Model

Test Double na każdy przypadek sięgania

poza implemenotwany serwis

Korzystamy w większości z konkretnych

klas modelu

Czasami można użyć Dummy zamiast

konkretnej implementacji

Klasy modelu tworzymy korzystając z

Test Fixture

Page 8: Testy automatyczne w ddd i architekturze heksagonalnej

Testy w warstwach infrastruktury

Alistair Cockburn, Hexagonal Architecture

Domain Model

Głównie testy integracyjne

Testy jednostkowe mają sens

dla klas narzędziowych

służących do implementacji adaptera

(np. Assembler)

Można użyć Test Double

dla interfaceów zewnętrznych

Dobre miejsce na testy akceptacyjne

Page 9: Testy automatyczne w ddd i architekturze heksagonalnej

Dzięki