단위테스트 AAA
AAA는 Arrange(준비), Act(실행), Assert(단언)의 약자로 클린 코드와 가독성을 유지하는 방향으로 테스트를 구조화하는 접근법을 의미한다. 오늘날 AAA는 업계 전반에 걸쳐 거의 표준이 된 테스트 패턴이다.
@Test
public void givenStreamWhenSumThenEquals6(){
//Arrange(준비)
Stream theStream = Stream.of(1, 2, 3);
//Act(실행)
int sum = theStream.mapToInt(i -> i).sum();
//Asseert(단언)
assertEquals(6, sum);
}
public void givenStreamWhenSumThenEquals6(): 테스트 메소드의 이름입니다. 이 메소드는 스트림의 합이 6과 같을 때 테스트를 통과한다.
//Arrange(준비): 테스트의 준비 단계를 표시한다. 이 단계에서는 테스트에 필요한 데이터를 설정한다.
Stream<Integer> theStream = Stream.of(1, 2, 3);: 스트림을 생성하고 1, 2, 3 세 개의 정수를 포함시킨다.
//Act(실행): 테스트의 실행 단계를 표시한다. 이 단계에서는 실제 작업을 수행하고 결과를 얻는다.
int sum = theStream.mapToInt(i -> i).sum();: 스트림의 모든 정수를 int로 변환하고(sum) 합계를 구한다. 결과는 변수 sum에 저장된다.
theStream.mapToInt(i -> i) : 이 부분에서 람다 함수 i -> i를 사용하여 스트림의 각 요소(Integer 객체)를 int 기본 타입으로 변환한다. 그 결과 IntStream이 생성된다.sum() : 이 부분에서 IntStream의 sum() 메소드를 호출하여 스트림에 있는 모든 정수의 합을 계산한다 . 여기서는 1 + 2 + 3 = 6을 계산하게 된다.
//Assert(단언): 테스트의 단언 단계를 표시한다. 이 단계에서는 결과가 기대한 값과 일치하는지 확인한다.
//assertEquals(6, sum);: sum 변수의 값이 6과 같은지 확인합니다. 값이 같으면 테스트가 통과되고, 그렇지 않으면 테스트가 실패한다.
'Developer 지식' 카테고리의 다른 글
웹 크롤링 설명/관련 질문 (0) | 2023.04.13 |
---|---|
CSR&SSR (0) | 2023.04.13 |
Thymeleaf에서 사용자 정의 속성을 이용한 에러 처리 (0) | 2023.04.13 |
데이터 검증이 중요한 이유와 웹 애플리케이션에서 데이터 검증 방법 (0) | 2023.04.13 |
Java Persistence API (JPA)를 이용한 Oracle DB 연동하기 (0) | 2023.04.13 |