[java] Java Cucumber 테스트 실행 옵션 설정

Cucumber는 자바 기반의 BDD (Behavior Driven Development) 테스트 프레임워크입니다. Cucumber를 사용하여 테스트를 실행할 때, 테스트 실행 옵션을 설정해야하는 경우가 있습니다. 이 테스트 실행 옵션은 테스트 환경을 구성하거나 원하는 테스트 결과를 얻기 위해 사용됩니다. 이번 글에서는 Java에서 Cucumber 테스트 실행 옵션을 설정하는 방법에 대해 알아보겠습니다.

1. 테스트 실행 태그 설정

Cucumber 테스트에서 실행할 특정 태그를 지정하여 실행할 수 있습니다. 이렇게 하면 특정 태그를 갖는 시나리오만 실행되고, 나머지 시나리오는 실행되지 않습니다.

태그를 지정하는 방법은 @태그이름 형식으로 테스트 시나리오에 어노테이션(annotation)으로 지정하면 됩니다. 예를 들어, @smoke 태그를 가진 시나리오만 실행하려면 다음과 같이 작성합니다.

@smoke
Scenario: This is a smoke test scenario
  Given ...
  When ...
  Then ...

2. 테스트 실행 태그 제외 설정

반대로, 실행하지 않을 특정 태그를 지정하여 제외할 수도 있습니다. 제외할 태그는 ~@태그이름 형식으로 작성하면 됩니다. 예를 들어, @wip (work in progress) 태그를 가진 시나리오를 제외하려면 다음과 같이 작성합니다.

~@wip
Scenario: This is a non-wip scenario
  Given ...
  When ...
  Then ...

3. 특정 태그만 실행하기

여러 개의 태그를 가진 테스트 시나리오 중에서 특정 태그만 실행하고 싶은 경우도 있습니다. 이 경우 --tags 옵션을 사용하여 실행할 태그를 지정하면 됩니다.

java cucumber.api.cli.Main --tags "@tag1 or @tag2"

위의 예시에서는 @tag1 또는 @tag2를 가진 테스트 시나리오만 실행됩니다.

4. 테스트 실행 시나리오 파일 필터링

Cucumber는 feature 파일에 작성된 여러 시나리오 중에서 특정 파일만 실행하도록 필터링할 수 있습니다. 이를 위해 --name 옵션을 사용하여 실행할 파일명을 지정하면 됩니다.

java cucumber.api.cli.Main --name "file1.feature"

위의 예시에서는 file1.feature에 작성된 시나리오만 실행됩니다.

5. 테스트 실행 리포트 설정

Cucumber 테스트를 실행할 때 리포팅 기능을 사용하여 각 시나리오의 실행 결과를 보고 싶을 경우가 있습니다. 이를 위해 --format 옵션을 사용하여 리포트 포맷을 지정할 수 있습니다.

java cucumber.api.cli.Main --format json --out reports/

위의 예시에서는 JSON 형식의 리포트 파일을 reports/ 디렉토리에 저장합니다.

결론

Cucumber를 사용하여 Java에서 테스트를 실행할 때, 테스트 실행 옵션을 설정하는 방법을 알아보았습니다. 테스트 실행 태그 설정, 제외 설정, 특정 태그만 실행, 특정 파일 필터링, 실행 리포트 설정 등의 옵션을 적절히 활용하여 원하는 테스트 결과를 얻을 수 있습니다.