본문 바로가기

Programing/JVM(Java, Kotlin)

실패하는 테스트부터 만들기 패턴

Mincho에게 버그에 대해 개선을 할 때 코드부터 고치지 말라고 종종 이야기한다.

대신 실패하는 테스트를 먼저 만들고 실패하는 것을 재현하고 이후 코드를 수정하여 성공하는 테스트로 만들라고 했다.

PR 826 - fix commit 에는 누락된 테스트 코드를 꼭 추가해주세요~

이런 패턴은 포프TV의 효율적인 테스트 코드 작성법에 나오는 것과 동일하다.

우연히 이동욱 님 블로그 기억보단 기록에 갔다가 Spring Batch에 PR을 올리셨던 것이 거절당한 것을 보게 되었다.

Spring Batch Lead인 Mahmoud Ben Hassine가 comment를 남겼는데 이유는 명확했다.

실패하는 테스트가 없었기(There is no failing test in this PR) 때문이었다.

There is no failing test in this PR that passes with the suggested changes.

오픈소스 커뮤니티에서도 실패하는 테스트는 유효하다는 것을 느꼈다.