Moje oblíbená technika psaní unit testů je začít zvenku, od toho, jak se bude vaše třída volat. Je to jako kdyby jste navrhovali veřejnou knihovnu – chcete aby měla rozumné rozhraní a šla dobře používat. Tento přístup klade důraz na návrh tříd a jejich spolupráce. Implementace je až druhořadá záležitost, protože jde vždycky změnit, pokud nebude vyhovovat např. výkonnostně. V dnešním článku bych vám chtěl na příkladu Langtonova mravence ukázat, jak to funguje a jaké má tento přístup výhody a nevýhody.
Zobrazují se příspěvky se štítkemDesign. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemDesign. Zobrazit všechny příspěvky
StructureAssertions – knihovna pro testování závislostí
| 2 comments | clean code, Design, NuGet, Reflection
V minulém postu jsem nastínil způsob, jak lze kontrolovat zakázané závislosti mezi třídami v aplikaci. Trochu jsem si zaexperimentoval a vytvořil knihovnu StructureAssertions a NuGet balíček, který si můžete nainstalovat do testovacího projektu a jednoduše závislosti otestovat.