Ujian di Maven

Satu lagi perkara penting dalam kerja Maven ialah fasa ujian. Ia akan dilaksanakan jika anda menjalankan test , package , verify atau mana-mana fasa lain yang datang selepasnya.

Secara lalai, Maven akan menjalankan semua ujian yang ada dalam folder src/test/java/ . Untuk membezakan ujian yang akan dijalankan daripada fail java lain, konvensyen penamaan telah diterima pakai. Ujian ialah kelas java yang namanya bermula dengan "Ujian" dan berakhir dengan "Ujian" atau "TestCase" .

Corak umum nama ujian:

  • **/Ujian*.java
  • **/*Ujian.java
  • **/*TestCase.java

Ujian ini mesti ditulis berdasarkan rangka kerja ujian Junit atau TestNG. Ini adalah rangka kerja yang sangat keren, kami pasti akan membincangkannya sedikit kemudian.

Keputusan ujian dalam bentuk laporan dalam format .txt dan .xml disimpan dalam direktori ${basedir}/target/surefire-reports.

Persediaan ujian

Biasanya terdapat banyak pilihan untuk menjalankan ujian, jadi pembangun Maven telah membuat pemalam khas, dalam parameter yang mana anda boleh menetapkan semua maklumat terperinci tentang ujian. Pemalam itu dipanggil Maven Surefire Plugin dan boleh didapati 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 memberitahu pemalam bahawa ia perlu menjalankan satu kelas ujian, Sample.java.

Bagaimana untuk menghapuskan ujian yang rosak dengan cepat

Untuk menjalankan projek untuk ujian, anda perlu menjalankan perintah ujian mvn. Tetapi lebih kerap terdapat keperluan untuk mengecualikan beberapa ujian daripada ujian. Contohnya, ia mungkin rosak, mengambil masa terlalu lama untuk dijalankan, atau atas sebab lain.

Pertama, anda boleh memberitahu Maven untuk melangkau ujian semasa melakukan fasa binaan. Contoh:

mvn clean package -Dmaven.test.skip=true

Kedua, dalam konfigurasi pemalam, anda boleh melumpuhkan pelaksanaan ujian:


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

Dan ketiga, ujian boleh 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>