SeouliteLab

[Java/자바] Unit Test의 AAA 패턴: Arrange, Act, Assert 본문

프로그래밍

[Java/자바] Unit Test의 AAA 패턴: Arrange, Act, Assert

Seoulite Lab 2024. 3. 15. 09:25

Unit 테스트 작성 시 코드의 가독성과 유지보수성을 높이기 위해 AAA 패턴(Arrange, Act, Assert)을 활용할 수 있습니다. 이 패턴은 테스트를 준비하는 단계, 실제 동작을 수행하는 단계, 그리고 결과를 검증하는 단계로 나누어 테스트 코드를 구성합니다.

1. Arrange 단계

테스트를 준비하는 단계로, 테스트에 필요한 객체를 생성하고 초기화하는 단계입니다.

// Arrange 예제
public class MyUnitTest {
    private Calculator calculator;

    @Before
    public void setUp() {
        calculator = new Calculator();
    }
}

위의 예제에서는 Calculator 객체를 초기화하는 setUp() 메서드를 사용하여 Arrange 단계를 구현하였습니다.

2. Act 단계

실제 동작을 수행하는 단계로, 테스트 대상 코드를 호출하고 기대한 동작을 발생시킵니다.

// Act 예제
@Test
public void testAddition() {
    int result = calculator.add(2, 3);
    // Assert 단계에서 결과를 검증합니다.
}

위의 예제에서는 Calculator 객체의 add() 메서드를 호출하여 Act 단계를 구현하였습니다.

3. Assert 단계

테스트 결과를 검증하는 단계로, 예상한 결과와 실제 결과를 비교하여 테스트를 완료합니다.

// Assert 예제
@Test
public void testAddition() {
    int result = calculator.add(2, 3);
    assertEquals(5, result);
}

위의 예제에서는 add() 메서드를 호출한 결과가 예상한 값과 일치하는지를 assertEquals() 메서드를 사용하여 검증하는 Assert 단계를 구현하였습니다.

위의 예제를 통해 Java Unit 테스트에서 AAA 패턴을 적용하여 테스트 코드를 작성하는 방법을 살펴보았습니다. 이러한 패턴을 활용하면 테스트 코드의 가독성을 높이고 유지보수성을 향상시킬 수 있습니다.