Right - BICEP Right :: 결과가 올바른가? 테스트는 무엇보다 먼저 기대한 결과를 내뱉는지 검증할 수 있어야 한다. Boundary condition :: 경계 조건에서는 어떤가? 생각해야 하는 경계 조건은 다음과 같다. 모호하고 일관성없는 입력 값. 예를 들어 특문이 포함된 파일 이름 잘못된 양식의 데이터. 예를 들면 최상위 도메...
1. 어노테이션 사용 @Test 어노테이션에서 인자로 기대한 예외를 지정할 수 있다. 위 예시 코드에서 InsufficientFundsException 이 발생하면 테스트가 통과하고, 그렇지 않으면 실패한다. 2. try/catch 블록 익숙한 맛 예외가 발생하면 제어권이 catch블록으로 넘어간다. --- 3. ExpectedExcep...
Assertj _체이닝(Chaining) 방식으로 메서드를 계속 연결하여 사용할 수 있기 때문에, 테스트 코드를 더 가독성 있고 표현력이 뛰어난 형태로 작성할 수 있도록 도와주는 라이브러리. 특히 컬렉션과 객체 검증에 있어서 강력한 기능을 제공한다. 다양한 매처들을
1. 분기점을 고려 반복문과 조건문을 확인하기 2. 데이터 변형을 고려 데이터가 null이거나 0일 경우?
Hamcrest 단언문 라이브러리로서, 가독성이 좋고 표현력이 뛰어난 테스트 코드를 작성할 수 있도록 도와준다. 다만, Matcher 명을 외워서 사용해야 해서 기억이 안나면 구글링을 해야 하는 불편함이 있고 그와 반면에 assertj는 actual 타입에 따라 사용
JUnit의 명세 Annotations 특정한 역할을 가진 메타데이터를 코드에 부여하는 방식 > org.junit.jupiter.api.Test @Test 어노테이션 :: JUnit 테스트임을 명시 > org.junit.jupiter.api.BeforeEach
JUnit 테스트의 구조 :: AAA 패턴 AAA는 "Arrange, Act, Assert"의 약자로, 각 단계에서 수행되는 작업을 나타냄. 먼저 테스트 상태를 설정하는 준비(arrange) 단계의 일들을 수행 테스트를 수행하기 위해 초기 상태(테스트 환경)를 설