JUnit kategorileri ve Maven kullanarak bunları kolayca bölebilirsiniz.
Bu, bölme birimi ve entegrasyon testleri ile çok, çok kısaca aşağıda gösterilmiştir.
Bir İşaretleyici Arayüzü Tanımlama
Bir testi kategorileri kullanarak gruplamanın ilk adımı bir işaretleyici arabirimi oluşturmaktır.
Bu arayüz, entegrasyon testi olarak çalıştırmak istediğiniz tüm testleri işaretlemek için kullanılacaktır.
public interface IntegrationTest {}
Test sınıflarınızı işaretleyin
Kategori ek açıklamasını test sınıfınızın üstüne ekleyin. Yeni arayüzünüzün adını alır.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Maven Birim Testlerini Yapılandırma
Bu çözümün güzelliği, şeylerin birim test tarafı için gerçekten hiçbir şeyin değişmemesidir.
Herhangi bir entegrasyon testini yok saymasını sağlamak için maven surefire eklentisine bazı yapılandırmalar ekliyoruz.
<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>
Bunu yaptığınızda mvn clean test
, yalnızca işaretlenmemiş birim testleriniz yapılır.
Maven Entegrasyon Testlerini Yapılandırma
Yine bunun konfigürasyonu çok basit.
Standart başarısız güvenlik eklentisini kullanıyoruz ve yalnızca entegrasyon testlerini çalıştıracak şekilde yapılandırıyoruz.
<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>
Yapılandırma, derlemenin tümleştirme testi aşaması sırasında başarısız güvenlik eklentisini çalıştırmak için standart bir yürütme hedefi kullanır.
Şimdi bir yapabilirsiniz mvn clean install
.
Bu kez ve birim testleri çalışıyor, entegrasyon testleri entegrasyon testi aşamasında yapılır.