Menguji di Maven

Poin penting lainnya dalam pekerjaan Maven adalah fase pengujian. Ini akan dieksekusi jika Anda menjalankan test , package , verifikasi atau fase lain yang muncul setelahnya.

Secara default, Maven akan menjalankan semua tes yang ada di folder src/test/java/ . Untuk membedakan tes yang akan dijalankan dari file java lainnya, sebuah konvensi penamaan telah diadopsi. Tes adalah kelas java yang namanya dimulai dengan "Test" dan diakhiri dengan "Test" atau "TestCase" .

Pola umum nama tes:

  • **/Uji*.java
  • **/*Test.java
  • **/*TestCase.java

Tes ini harus ditulis berdasarkan kerangka uji Junit atau TestNG. Ini adalah kerangka kerja yang sangat keren, kami pasti akan membicarakannya nanti.

Hasil pengujian berupa laporan dalam format .txt dan .xml disimpan di direktori ${basedir}/target/surefire-reports.

Pengaturan pengujian

Biasanya ada banyak opsi untuk menjalankan pengujian, jadi pengembang Maven telah membuat plugin khusus, di parameternya Anda dapat mengatur semua informasi terperinci tentang pengujian. Plugin ini disebut Maven Surefire Plugin dan tersedia di .

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
    	<version>2.12.4</version>
    	<configuration>
        	<includes>
                <include>Sample.java</include>
        	</includes>
    	</configuration>
	</plugin>
</plugins>

Dalam contoh, kami memberi tahu plugin bahwa plugin perlu menjalankan kelas pengujian tunggal, Sample.java.

Cara cepat menghilangkan tes yang rusak

Untuk menjalankan proyek untuk pengujian, Anda perlu menjalankan perintah mvn test. Tetapi lebih sering ada kebutuhan untuk mengecualikan beberapa tes dari pengujian. Misalnya, mereka mungkin rusak, berjalan terlalu lama, atau karena alasan lain.

Pertama, Anda cukup memberi tahu Maven untuk melewati pengujian saat melakukan fase build. Contoh:

mvn clean package -Dmaven.test.skip=true

Kedua, dalam konfigurasi plugin, Anda dapat menonaktifkan eksekusi pengujian:


<configuration>
    <skipTests>true</skipTests>
</configuration>

Dan ketiga, pengujian dapat dikecualikan menggunakan tag <exclude> . Contoh:


<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
    	<version>2.12.4</version>
    	<configuration>
        	<excludes>
           	<exclude>**/TestFirst.java</exclude>
	           <exclude>**/TestSecond.java</exclude>
    	</excludes>
    	</configuration>
    </plugin>
</plugins>