Anda dapat membaginya dengan sangat mudah menggunakan kategori JUnit dan Maven.
Ini ditunjukkan sangat, sangat singkat di bawah ini dengan pemisahan unit dan tes integrasi.
Tentukan Antarmuka Penanda
Langkah pertama dalam mengelompokkan tes menggunakan kategori adalah membuat antarmuka penanda.
Antarmuka ini akan digunakan untuk menandai semua tes yang ingin Anda jalankan sebagai tes integrasi.
public interface IntegrationTest {}
Tandai kelas tes Anda
Tambahkan anotasi kategori ke bagian atas kelas tes Anda. Dibutuhkan nama antarmuka baru Anda.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Konfigurasikan Tes Unit Maven
Keindahan dari solusi ini adalah tidak ada yang benar-benar berubah untuk sisi pengujian unit.
Kami cukup menambahkan beberapa konfigurasi ke plugin maven surefire untuk membuatnya mengabaikan semua tes integrasi.
<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>
Saat Anda melakukan mvn clean test
, hanya pengujian unit yang tidak ditandai yang akan berjalan.
Konfigurasikan Tes Integrasi Maven
Sekali lagi konfigurasi untuk ini sangat sederhana.
Kami menggunakan plugin failafe standar dan mengonfigurasinya untuk hanya menjalankan tes integrasi.
<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>
Konfigurasi menggunakan tujuan eksekusi standar untuk menjalankan plugin failafe selama fase uji integrasi build.
Anda sekarang dapat melakukan mvn clean install
.
Kali ini serta tes unit berjalan, tes integrasi dijalankan selama fase uji integrasi.