Тестване в Maven
Друг важен момент в работата на Maven е фазата на тестване. Той ще бъде изпълнен, ако изпълните test , package , verify or всяка друга фаза, която идва след тях.
По подразбиране Maven ще изпълнява всички тестове, които са в папката src/test/java/ . За да се разграничат тестовете, които трябва да се изпълняват, от други java файлове, е приета конвенция за именуване. Тестовете са Java класове, чиито имена започват с "Test" и завършват с "Test" or "TestCase" .
Общ модел на имена на тестове:
- **/Тест*.java
- **/*Test.java
- **/*TestCase.java
Тези тестове трябва да бъдат написани въз основа на тестовата рамка Junit or TestNG. Това са много готини рамки, определено ще говорим за тях малко по-късно.
Резултатите от тестовете под формата на отчети във формати .txt и .xml се записват в директорията ${basedir}/target/surefire-reports.
Тестова настройка
Обикновено има много опции за провеждане на тестове, така че разработчиците на Maven са направor специален плъгин, в параметрите на който можете да зададете цялата подробна информация за тестване. Плъгинът се нарича Maven Surefire Plugin и е достъпен на address .
<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>
В примера казахме на плъгина, че трябва да изпълни един тестов клас, Sample.java.
Как бързо да премахнете повредени тестове
За да изпълните проекта за тестване, трябва да изпълните командата mvn test. Но по-често има нужда да се изключат някои тестове от тестването. Например, те може да са счупени, да отнемат твърде много време, за да работят or по няHowва друга причина.
Първо, можете просто да кажете на Maven да пропусне тестовете, когато правите фазата на изграждане. Пример:
mvn clean package -Dmaven.test.skip=true
Второ, в конфигурацията на приставката можете да деактивирате изпълнението на тестове:
<configuration>
<skipTests>true</skipTests>
</configuration>
И трето, тестовете могат да бъдат изключени с помощта на <exclude> тага . Пример:
<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