단위테스트 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과 같은지 확인합니다. 값이 같으면 테스트가 통과되고, 그렇지 않으면 테스트가 실패한다.

+ Recent posts