Test-driven development step patterns for designing objects dependencies
Eduardo Guerra, Joseph William Yoder, Mauricio Finavaro Aniche, Marco Aurélio Gerosa · 2013
Test driven development (TDD) is a development technique often used to design classes in a software system by creating tests before their actual code. The dependency management and class APIs decisions, that emerge during the practice of TDD, does not just happen: the way that the tests are created should be used in this process to make decisions and drive the design in the desired direction. This paper introduces four patterns that document the kinds of TDD cycles that can be performed to guide the design in the desired direction. These patterns are part of a pattern language that intends to present recurrent solutions that are used in a TDD process.