Maven-da test qilish
Maven bilan ishlashdagi yana bir muhim bosqich – bu test bosqichi. U test, package, verify yoki undan keyingi boshqa bosqichlarni ishga tushirsangiz bajariladi.
Odatiy ravishda, Maven src/test/java/ papkasida joylashgan barcha testlarni ishga tushiradi. Testlarni ishlatish kerak bo'lgan java-fayllardan ajratish uchun ism kelishuvi qabul qilingan. Unga ko'ra, ismi “Test” bilan boshlanib, “Test” yoki “TestCase” bilan tugaydigan java-klasslar test hisoblanadi.
Testlarning umumiy namuna nomlari:
- **/Test*.java
- **/*Test.java
- **/*TestCase.java
Bu testlar Junit yoki TestNG test freymvorklari asosida yozilishi kerak. Bu juda zo'r freymvorklar, ular haqida albatta keyinroq gaplashamiz.
Test natijalari .txt va .xml formatidagi hisobotlar shaklida ${basedir}/target/surefire-reports katalogida saqlanadi.
Test sozlashi
Testlarni ishga tushirish imkoniyatlari ko'pincha juda ko'p bo'ladi, shuning uchun Maven ishlab chiquvchilari maxsus plagin qilishdi, uning parametrlariga test haqida barcha ma'lumotlarni kiritish mumkin. Plagin Maven Surefire Plugin deb nomlanadi va mana bu yerdan olish mumkin.
<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>
Misolda biz plaginni bitta test sinfini – Sample.java-ni ishga tushirish kerakligini ko'rsatdik.
Tezda ishlamaydigan testlarni chiqarib tashlash
Loyihani test qilish uchun mvn test buyrug'ini bajarish kerak. Lekin ko'pincha ba'zi testlarni test qilishdan chiqarib tashlash kerak bo'lishi mumkin. Masalan, ular buzilgan, juda uzoq davom etmoqda yoki boshqa sabablarga ko'ra.
Birinchidan, Maven-ga yig'ish bosqichini bajarishda testlarni o'tkazib yuborishni aytish mumkin. Misol:
mvn clean package -Dmaven.test.skip=true
Ikkinchidan, plagin konfiguratsiyasida testlarni o'chirib qo'yish mumkin:
<configuration>
<skipTests>true</skipTests>
</configuration>
Yana uchinchidan, testlarni <exclude> teg orqali chiqarib tashlash mumkin. Misol:
<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>
GO TO FULL VERSION