Вы можете настроить maven-surefire-plugin
так, чтобы он включал только определенные тестовые классы и запуск mvn test
. По по умолчанию mvn будет запускать все эти :
- «**/Test*.java» — включает все его подкаталоги и все имена файлов Java, начинающиеся с «Test».
- «**/*Test.java» — включает все его подкаталоги и все имена файлов Java, оканчивающиеся на «Test».
- «**/*Tests.java» — включает все его подкаталоги и все имена файлов Java, которые заканчиваются на «Tests».
- «**/*TestCase.java» — включает все его подкаталоги и все имена файлов Java, которые заканчиваются на «TestCase».
но вы можете указать тесты, которые хотите включить, следующим образом:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<includes>
<include>Sample.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
или исключить:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
Сказав это, это, вероятно, не лучший дизайн, и, как правило, вы должны использовать некоторую среду тестирования, которую вы затем можете настроить в соответствии со своими потребностями. Несколько примеров (или их комбинация): jUnit, TestNG, Cucumber, Spring.
Например, в Cucumber у вас могут быть теги, которые затем можно настроить как часть выполнения теста. Если вы используете Jenkins, у вас может быть что-то вроде этого в вашем поле сборки:
clean install -Dcucumber.options="--tags @Google
or
clean install -Dcucumber.options="--tags @Bing
В Spring у вас могут быть профили, которые вы можете запускать как задание Jenkins следующим образом:
mvn clean test -Dspring.profiles.active="google"
ИЗМЕНИТЬ
В качестве альтернативы вы можете определить пользовательское свойство в своем pom следующим образом:
<properties>
<myProperty>command line argument</myProperty>
</properties>
А затем передайте его из командной строки следующим образом:
mvn install "-DmyProperty=google"
ИЗМЕНИТЬ2
Предоставление значения с префиксом -D
в командной строке — это способ установки системного свойства. Вы можете выполнить это действие из самого кода Java следующим образом:
Properties props = System.getProperties();
props.setProperty("myPropety", "google");
или просто:
System.setProperty("myPropety", "google");
person
Eugene S
schedule
09.01.2018