Testable Architecture: Ya Gotta Keep 'em Separated - Ted M. Young
Details
One of the most important, yet misunderstood, aspects of Hexagonal, Clean, and Onion architectures is not their folder structure, but how they keep I/O and domain logic separate. Why? The clear separation makes it easier to write tests: by moving away from the confusing terms of "unit" and "integration" tests to "I/O-based" and "I/O-free", there's no longer any confusion about how the test should be structured.
In this Java code-filled session, we'll look at how to combine Hexagonal Architecture with Domain-Driven Design's context boundaries and tactical patterns to make it clear what code goes where, and how to test it. We'll also see how to refactor "mixed up" code to separate I/O from domain and application logic. The result is extremely fast tests for the most important part of your application, the domain, while also reducing the amount of tests needed for coordination.
-------------------------------------------------
Ted is a Java technical coach, speaker, and author. He's been in software development for over 30 years, following eXtreme Programming practices since 2000.
Ted loves helping those new to the industry, as well as experienced folks, increase their joy in coding by showing them how to make their code more testable. Ted's favorite learning technique is Ensembling, used to teach test-driven development (TDD), refactoring, domain-driven design, and Testable Architectures through hands-on experiences.
Ted is also the creator of the acclaimed "JitterTed's TDD Game" used at events and companies worldwide to help people understand the benefits and nuances of TDD in a fun way.
