Devnology Podcast 021 - Nat Pryce on Growing software with Tests
Nat Pryce is an early adaptor of eXtreme Programming and a contributor to several open source libraries and tools supporting Test-Driven Development, like jMock. In this episode we discuss several topics from the book 'Growing Object-Oriented Software, Guided by Tests' that he wrote together with Steve Freeman. We talk about the 'Londen-style' of Test-Driven Development, using mock objects to drive your design, listening to your tests and dependency injection.
Links for this podcast:
- The roots of the 'Londen-style' of Test-Driven Development can be traced back to the eXtreme Tuesday Club (XTC). A weekly London (pub) meeting that started more than 10 years ago.
- On his blog Nat visualizes different kinds of tests that drive the design of a software system.
- In the podcast we discuss the blogpost 'Whose domain is it anyway?' of Dan North.
- Nat completed his PhD thesis in 2000: 'Component Interaction in Distributed Systems'. A lot of his thoughts on object-orientation and messaging between objects and peers that is described in the book, can be traced back to his early research.
- In order to improve the testability of your software, Steve and Nat propose to apply the Ports and adapter architecture from Alistair Cockburn. You can read more on this subject on the wiki of Alistair.
- Use Hamcrest Matchers to improve the readability of your tests: learn more from this tutorial.
- While the use of Dependency Injection is widely spread in the software engineering community, Nat considers applying this style harmful. On his blog you can read more of his thoughts on this subject.
- In 2004 Steven and Nat published the article 'Mock Roles, not Objects' in which they introduces jMock.
- MultithreadedTC: a framework that can be used to test concurrent Java applications.
This podcast was published on 24-08-2011 and lasts for 57:24 minutes