입력과 결과가 명확한 코드를 자동 검증합니다.
단위 테스트는 입력을 준비하고 동작을 실행한 뒤 결과와 예외를 검증합니다. 웹 실습에서는 간단한 assertion으로 원리를 확인하고 실제 프로젝트에서는 JUnit 5를 빌드 도구에 연결합니다.
check는 기대값과 실제값을 equals로 비교하고 다르면 기대값 != 실제값 형식의 메시지를 담은 AssertionError를 던집니다. 80은 score >= 80 경계에 정확히 걸려 PASS, 바로 아래인 79는 RETRY라서 두 검사가 모두 통과하고 테스트 통과가 출력됩니다. 검사 하나라도 실패하면 예외가 그 자리에서 main을 빠져나가므로 통과 문구는 찍히지 않습니다.
Java assert는 기본 실행에서 비활성화될 수 있으므로 운영 입력 검증에 사용하지 않습니다. 테스트 프레임워크의 assertion은 항상 실행됩니다.
정상 경로, 경계값, 오류 경로를 분리하고 DB와 네트워크 의존성은 테스트 대역 또는 격리 환경을 사용합니다.
구현 내부 메서드 호출만 검증하면 안전한 리팩터링에도 테스트가 깨집니다. 공개 동작을 우선 검사하세요.
직접 바꿔보세요79, 80, 100과 범위 밖 점수를 검증하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.