본문으로 건너뛰기

값의 범위 제한

@Min@Max 어노테이션을 사용하여 특정 매개변수에 대해 생성되는 임의의 값의 범위를 제한할 수 있습니다. 이러한 어노테이션을 사용하면 각각 최소 및 최대 범위를 설정하여 생성된 값이 지정된 범위 내에 속하도록 할 수 있습니다.

사용 방법

매개변수의 범위를 설정하려면 @Min 어노테이션을 달아 최소값을 정의하고, @Max 어노테이션을 달아 최대값을 정의하면 됩니다.

다음은 그 예입니다.

@ParameterizedTest
@AutoSource
void testMethod(@Min(1) @Max(10) int value) {
assertTrue(value >= 1);
assertTrue(value <= 10);
}

이 테스트에서 값 매개변수는 항상 1 이상 10 이하의 정수입니다.

지원되는 유형

@Min@Max 어노테이션은 다음 유형과 호환됩니다.

  • byte
  • Byte
  • short
  • Short
  • int
  • Integer
  • long
  • Long
  • float
  • Float
  • double
  • Double

혜택

  1. 제어된 무작위성: 이 어노테이션은 무작위성의 범위를 미세하게 조정하여 더 집중적이고 의미 있는 테스트를 수행하는 데 도움이 됩니다.
  2. 테스트의 불안정성 감소: 값의 범위를 제한함으로써 테스트가 불안정해질 수 있는 예외 상황이 발생할 위험을 줄일 수 있습니다.
  3. 가독성 향상: @Min@Max를 사용하면 독자에게 어떤 범위의 값을 테스트하는지 명확하게 전달하여 테스트 코드의 가독성과 유지보수성을 향상시킵니다.

@Min@Max 어노테이션을 @AutoSource와 함께 사용하면 무작위성과 예측 가능성을 균형 있게 혼합하여 매개변수화된 테스트를 다재다능하고 안정적으로 만들 수 있습니다.