[java] Java Cucumber에서 로그인 테스트 실행하기
Cucumber는 자바 기반의 테스트 자동화 도구로, BDD(Behavior Driven Development)를 지원합니다. 이를 통해 개발자와 비개발자 사이의 소통을 원활하게 할 수 있습니다.
이번에는 Cucumber를 사용하여 로그인 기능을 테스트하는 방법을 알아보겠습니다.
1. 프로젝트 설정
먼저, Cucumber를 프로젝트에 추가해야 합니다. pom.xml
파일에 다음 dependencies를 추가하세요.
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>6.9.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.9.1</version>
<scope>test</scope>
</dependency>
</dependencies>
2. Feature 파일 작성하기
Cucumber에서는 기능을 정의하는 feature 파일을 작성해야 합니다. src/test/resources
디렉토리에 login.feature
파일을 만들고 다음 내용을 작성하세요.
Feature: 로그인 기능
Scenario: 유효한 아이디와 패스워드로 로그인
Given 앱이 실행되어 있음
When 유효한 아이디 "test_user"와 패스워드 "test_password"로 로그인
Then 로그인이 성공함
Scenario: 잘못된 아이디로 로그인
Given 앱이 실행되어 있음
When 잘못된 아이디 "wrong_user"와 패스워드 "test_password"로 로그인
Then 로그인이 실패함
3. Step Definitions 작성하기
Feature 파일에서 정의한 각 단계마다 Step Definitions를 작성해야 합니다. src/test/java
디렉토리에 LoginSteps.java
파일을 만들고 다음 내용을 작성하세요.
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
import static org.junit.Assert.*;
public class LoginSteps {
@Given("앱이 실행되어 있음")
public void 앱이_실행되어_있음() {
// 앱 실행 로직 작성
}
@When("유효한 아이디 {string}와 패스워드 {string}로 로그인")
public void 유효한_아이디_와_패스워드_로_로그인(String username, String password) {
// 로그인 로직 작성
}
@When("잘못된 아이디 {string}와 패스워드 {string}로 로그인")
public void 잘못된_아이디_와_패스워드_로_로그인(String username, String password) {
// 로그인 로직 작성
}
@Then("로그인이 성공함")
public void 로그인이_성공함() {
// 로그인 성공 검증 로직 작성
}
@Then("로그인이 실패함")
public void 로그인이_실패함() {
// 로그인 실패 검증 로직 작성
}
}
4. 테스트 실행하기
이제 Cucumber를 실행하여 테스트를 수행할 수 있습니다. src/test/java
디렉토리에 RunCucumberTest.java
파일을 만들고 다음 내용을 작성하세요.
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/login.feature")
public class RunCucumberTest {
}
이제 테스트를 실행하려면 RunCucumberTest
를 실행하면 됩니다.
결론
이상으로 Java Cucumber를 사용하여 로그인 테스트를 실행하는 방법을 알아보았습니다. Cucumber를 활용하면 개발과 테스트 사이의 원활한 소통과 테스트 자동화를 할 수 있습니다.
더 자세한 내용은 다음 참조를 확인하세요: