아직도 이렇게 로그를 직접 찍어 테스트 하고 있나요?
val manualLottoNumbers = getManualNumbers()
Log.d("testtest", "수동 숫자 가져오기 테스트 : $manualLottoNumbers")
val converted = lottoTicketGenerator.createManualTicket(manualLottoNumbers)
Log.d("testtest", "변환되나??? : $converted ")
Log.d("testtest", "사이즈 ${converted.size}")
Log.d("testtest", "0번쨰 ${converted[0]}")
Log.d("testtest", "이건 만들어놓은거 $lottoTicket")
<aside> ⛔ 매번 로그를 찍기 위해서 전체 앱 빌드를 다시 해야 합니다.
<aside> ⛔ 코드 수정을 했을 때, 잘 동작 하는 지 확인하려 또 다시 반복 작성합니다.
</aside>
<aside> ⛔ 나는 알았지만, 다른 사람들은 몰라서 똑같은 상황을 반복합니다.
</aside>
// given
val manualLottoNumbers = listOf(
setOf(1, 2, 3, 4, 5, 6),
)
val expectedLottoTickets = listOf(
LottoTicket(1, 2, 3, 4, 5, 6)
)
// when
val convertedLottoTickets = lottoTicketGenerator.createManualTicket(manualLottoNumbers)
// then
assertAll(
{ assertThat(convertedLottoTickets).isEqualTo(expectedLottoTickets) },
{ assertThat(convertedLottoTickets.size).isEqualTo(1) },
)
<aside> 🆗 단일 테스트만 동작 시켜서 빠르게 결과를 확인할 수 있어요!
</aside>
<aside> 🆗 리팩터링을 하더라도, 테스트 코드가 통과되면 문제가 없어요!
</aside>
<aside> 🆗 테스트코드는 다른 사람에게 내가 만든 코드의 설명서가 돼요!
</aside>