[java] JUnitParams와 AssertJ를 함께 사용하는 방법은 어떻게 되나요?

두 라이브러리를 함께 사용하려면 아래와 같이 시작할 수 있습니다.

  1. 의존성 추가하기:

     <dependency>
         <groupId>pl.pragmatists</groupId>
         <artifactId>JUnitParams</artifactId>
         <version>1.1.1</version>
     </dependency>
     <dependency>
         <groupId>org.assertj</groupId>
         <artifactId>assertj-core</artifactId>
         <version>3.21.0</version>
     </dependency>
    
  2. 테스트 클래스 작성하기:

     import junitparams.JUnitParamsRunner;
     import org.assertj.core.api.Assertions;
     import org.junit.Test;
     import org.junit.runner.RunWith;
     import junitparams.Parameters;
    
     @RunWith(JUnitParamsRunner.class)
     public class CalculatorTest {
    
         @Test
         @Parameters({
             "2, 3, 5",
             "5, 5, 10",
             "10, 0, 10"
         })
         public void testAdd(int num1, int num2, int expectedSum) {
             Calculator calculator = new Calculator();
             int actualSum = calculator.add(num1, num2);
             Assertions.assertThat(actualSum).isEqualTo(expectedSum);
         }
     }
    

    @Parameters 어노테이션을 사용하여 매개변수화된 테스트 데이터를 제공하고, AssertJ의 assertThat 메서드를 사용하여 결과를 검증할 수 있습니다.

위의 예제는 두 라이브러리를 함께 사용하는 방법을 보여줍니다. 이제 테스트를 실행하면 JUnitParams가 제공하는 모든 매개변수 조합에 대해 테스트가 실행되고, AssertJ를 사용해 결과를 검증합니다.

이렇게 JUnitParams와 AssertJ를 함께 사용하면 강력한 테스트 스위트를 구축하고, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.