[java] Java Cucumber 리포트 생성

Cucumber는 테스트 자동화 도구로서 행동 주도 개발(Behavior Driven Development) 패턴을 지원합니다. Cucumber는 행위, 기능, 시나리오를 기반으로 테스트를 작성하고 실행할 수 있으며, 테스트 결과를 리포트로 생성할 수도 있습니다.

이번 글에서는 Java에서 Cucumber 리포트를 생성하는 방법에 대해 알아보겠습니다.

Step 1: Cucumber-JVM 의존성 추가

먼저, 프로젝트의 pom.xml 파일에 다음 의존성을 추가해야 합니다.

<dependencies>
    <!-- Cucumber -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>버전</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>버전</version>
        <scope>test</scope>
    </dependency>
    <!-- 리포트 생성 -->
    <dependency>
        <groupId>net.masterthought</groupId>
        <artifactId>cucumber-reporting</artifactId>
        <version>버전</version>
        <scope>test</scope>
    </dependency>
</dependencies>

Cucumber-JVM 및 리포트 생성에 필요한 의존성을 추가해줍니다. 버전은 프로젝트에 맞게 설정해야 합니다.

Step 2: 리포트 생성 설정

Cucumber 리포트를 생성하기 위해 RunCucumberTest 클래스를 작성합니다.

import org.junit.runner.RunWith;

import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(
    features = "src/test/resources/features",
    glue = "stepdefinitions",
    plugin = {"json:target/cucumber-report.json", "pretty", "html:target/cucumber-report"}
)
public class RunCucumberTest {

}

위의 코드에서 features.feature 파일이 위치한 디렉토리를 지정하고, glue는 스텝 정의 클래스(step definitions)의 패키지를 지정합니다. plugin은 리포트 생성을 위한 플러그인 설정입니다. 여기서는 JSON 및 HTML 리포트를 생성하기 위해 jsonhtml 플러그인을 사용하였습니다. 리포트는 target 디렉토리에 생성됩니다.

Step 3: 테스트 실행 및 리포트 확인

이제 테스트를 실행하고 리포트를 확인해보겠습니다.

  1. RunCucumberTest 클래스를 실행합니다.
  2. 실행이 완료되면 target 디렉토리에 리포트 파일들이 생성됩니다.
  3. target/cucumber-report/index.html 파일을 웹 브라우저로 열어 리포트를 확인합니다.

Cucumber 리포트를 통해 각 테스트 시나리오의 성공/실패 여부 및 상세 정보를 시각적으로 확인할 수 있습니다.

참고 자료

다음은 더 자세한 정보를 알고 싶을 때 참고할 수 있는 자료입니다.