[java] Java Cucumber에서 간단한 반복 테스트 실행하기

Java Cucumber는 행위 주도 개발(Behavior Driven Development) 방법론을 지원하는 테스트 프레임워크입니다. 이를 이용하여 애플리케이션의 행동을 테스트할 수 있으며, 간단한 반복 테스트를 실행하는 방법에 대해 알아보겠습니다.

필요한 도구 설치

Java Cucumber를 실행하려면 다음과 같은 도구가 필요합니다.

  1. Java 개발 키트(JDK)
  2. Maven 또는 Gradle (프로젝트 빌드 도구)
  3. Cucumber 라이브러리

프로젝트 세팅

먼저, 프로젝트 디렉토리를 생성하고 Maven 또는 Gradle을 이용하여 프로젝트를 초기화합니다. 이후 pom.xml(Maven) 또는 build.gradle(Gradle) 파일에 Cucumber 관련 의존성을 추가합니다.

Maven의 경우:

<dependency>
   <groupId>io.cucumber</groupId>
   <artifactId>cucumber-java</artifactId>
   <version>6.8.1</version>
</dependency>
<dependency>
   <groupId>io.cucumber</groupId>
   <artifactId>cucumber-junit</artifactId>
   <version>6.8.1</version>
   <scope>test</scope>
</dependency>

Gradle의 경우:

dependencies {
    testCompile 'io.cucumber:cucumber-java:6.8.1'
    testCompile 'io.cucumber:cucumber-junit:6.8.1'
}

의존성 설정이 완료되었다면, 프로젝트를 빌드하여 Cucumber를 사용할 준비를 마칩니다.

반복 테스트 작성

Cucumber는 Given-When-Then 형식으로 테스트 시나리오를 작성합니다. 여기서는 반복 테스트를 위해 다음과 같은 시나리오를 작성해보겠습니다.

Feature: 반복 테스트
  Scenario: 숫자 두 개의 합 계산
    Given 두 개의 숫자를 입력
    When 숫자를 더한다
    Then 결과를 확인한다

위 시나리오를 기반으로 StepDefinitions.java 라는 이름의 클래스를 생성합니다. 이 클래스는 Cucumber의 Step Definitions를 정의하는 역할을 합니다. 아래는 예제 코드입니다.

import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;

public class StepDefinitions {

    private int num1;
    private int num2;
    private int sum;

    @Given("두 개의 숫자를 입력")
    public void setNumbers() {
        num1 = 5;
        num2 = 10;
    }

    @When("숫자를 더한다")
    public void addNumbers() {
        sum = num1 + num2;
    }

    @Then("결과를 확인한다")
    public void checkResult() {
        System.out.println("두 숫자의 합: " + sum);
    }
}

Step Definitions 클래스에는 Given, When, Then을 위한 메서드가 정의되어 있습니다. 각 메서드는 시나리오의 각 단계에 해당하며, 필요한 작업을 수행합니다.

테스트 실행

모든 설정이 완료되었으므로 테스트를 실행해보겠습니다. 프로젝트 루트 디렉토리에서 다음 명령어를 실행합니다.

mvn test

또는

gradle test

위 명령어를 실행하면 Cucumber는 시나리오를 실행하고 결과를 출력합니다. 예상한 결과는 다음과 같습니다.

두 숫자의 합: 15

테스트 결과가 예상한대로 출력되었다면, 반복 테스트가 성공적으로 실행된 것입니다.

결론

Java Cucumber를 사용하여 반복 테스트를 실행하는 방법을 살펴보았습니다. Cucumber의 Given-When-Then 형식을 통해 테스트 시나리오를 작성하고, Step Definitions 클래스를 통해 테스트 단계에 해당하는 코드를 구현하였습니다. Cucumber를 사용하여 효율적이고 직관적인 테스트를 작성해보세요.

참고 자료