JUnit 카테고리와 Maven을 사용하여 매우 쉽게 분할 할 수 있습니다.
이것은 단위 및 통합 테스트를 분할하여 아래에 매우 간략하게 표시됩니다.
마커 인터페이스 정의
카테고리를 사용하여 테스트를 그룹화하는 첫 번째 단계는 마커 인터페이스를 만드는 것입니다.
이 인터페이스는 통합 테스트로 실행하려는 모든 테스트를 표시하는 데 사용됩니다.
public interface IntegrationTest {}
테스트 클래스를 표시하십시오
테스트 클래스 상단에 카테고리 주석을 추가하십시오. 새 인터페이스의 이름을 사용합니다.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
메이븐 유닛 테스트 구성
이 솔루션의 장점은 사물의 단위 테스트 측면에서 실제로 변화가 없다는 것입니다.
우리는 통합 테스트를 무시하도록 구성을 maven surefire 플러그인에 추가하기 만하면됩니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<excludedGroups>
com.test.annotation.type.IntegrationTest
</excludedGroups>
</configuration>
</plugin>
를 수행하면 mvn clean test
표시되지 않은 단위 테스트 만 실행됩니다.
Maven 통합 테스트 구성
다시 이것에 대한 구성은 매우 간단합니다.
표준 페일 세이프 플러그인을 사용하고 통합 테스트 만 실행하도록 구성합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<groups>
com.test.annotation.type.IntegrationTest
</groups>
</configuration>
</plugin>
구성은 표준 실행 목표를 사용하여 빌드의 통합 테스트 단계에서 비상 안전 플러그인을 실행합니다.
이제 할 수 있습니다 mvn clean install
.
이번에는 유닛 테스트와 통합 테스트가 통합 테스트 단계에서 실행됩니다.