테스트 기초 개념과 JUnit 5
테스트 코드를 처음 배울 때 가장 자주 듣는 말이 있다. “버그를 잡기 위해 테스트를 작성하세요.” 틀린 말은 아니지만, 테스트 코드가 주는 가장 큰 가치는 버그 감지가 아니라 변경에 대한 안전망이다. 기능 하나를 고쳤을 때 다른 곳이 망가지지 않았는지 즉시 알 수 있고, 리팩토링할 때 기존 동작이 유지되는지 확인할 수 있고, 테스트 코드 자체가 코드...
테스트 코드를 처음 배울 때 가장 자주 듣는 말이 있다. “버그를 잡기 위해 테스트를 작성하세요.” 틀린 말은 아니지만, 테스트 코드가 주는 가장 큰 가치는 버그 감지가 아니라 변경에 대한 안전망이다. 기능 하나를 고쳤을 때 다른 곳이 망가지지 않았는지 즉시 알 수 있고, 리팩토링할 때 기존 동작이 유지되는지 확인할 수 있고, 테스트 코드 자체가 코드...
JUnit 5의 기본 assert 메서드만으로도 검증은 가능하다. 하지만 실패했을 때 메시지가 빈약하고, 코드를 읽을 때 어느 값이 기대값이고 어느 값이 실제값인지 헷갈린다. AssertJ는 이 문제를 해결한다. 메서드 체이닝 방식으로 자연스러운 영어 문장처럼 검증 코드를 작성할 수 있고, 실패 시 실제 값과 기대 값을 풍부하게 출력해준다. 이 글에서...