How BDD makes everything better:
Before:
class UnitTest extends TestCase {
void testStuff() {
assertEqual("hello",
HugeBloatedIncomprehensibleClassFactory
.newInstanceOfHugeBloatedIncomprehensibleClass()
.complexFragileUndocumentedSideEffectingMethod());
}
}
After:
class BDDTest {
private String greeting;
@BeforeSpecification
void setUp() {
greeting = HugeBloatedIncomprehensibleClassFactory
.newInstanceOfHugeBloatedIncomprehensibleClass()
.complexFragileUndocumentedSideEffectingMethod());
}
@Specification
void mustBeHello() {
expect.that(value).isEqualTo("hello");
}
}
Rejoice! Our problems are solved!