Nat Pryce is an early adopter 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.
This interview is recorded on June 14th at the Software Practice Advancement conference (spa2011) in London. Interview by @freekl and @arnetim. Audio post-production by @Mendelt.
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.
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.
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 is in English- Deze podcast is in het Engels
Bijeenkomsten van Devnology zijn erop gericht enthousiaste ontwikkelaars bijeen te brengen om kennis en ervaring uit te wisselen, te discussiƫren en te netwerken - geek to geek.
Over ons
Vanuit Devnology willen wij vooral kijken naar concepten binnen software ontwikkeling. Als zich nieuwe ontwikkelingen voordoen zullen we vooral kijken naar het concept erachter en deze in een breed kader van eerdere technieken en/of bestaande platformen plaatsen. Lees meer...