인수 테스트를 DDT로 전환하기
요약하자면, 테스트를 두 번 실행하되, 한 번은 허브만 사용해 비즈니스 로직만 테스트하고, 그 후 실제 애플리케이션에 대해 허브를 다시 실행하는 것이다.
코드는 다음과 비슷할 것이다.
@Test
fun `List owners can see their lists`() {
val apps = listOf(
startTheApplicationDomainOnly(lists),
startTheApplicationHttp(lists)
)
apps.forEach{ app ->
app.runScenario(
frank.canSeeTheList("shopping", shoppingItems),
bob.canSeeTheList("gardening", gardenItems)
)
}
}
시나리오를 시작하고 애플리케이션을 설정하는 등 매번 작성해야 하는 보일러플레이트 코드가 있다.