При использовании плагина maven -surefire -и включения и исключения, в каком порядке они обрабатываются? Кроме того, если у вас есть 3 набора тестов, первый из которых является базовым набором, а второй и третий — особыми случаями, можете ли вы использовать профили для дальнейшего включения/исключения? Как профиль будет включать/исключать настройки? Например, я хотел бы сделать что-то вроде этого:
org.apache.maven.plugins
maven-surefire-plugin
2.12.2
/org/mycompany/dataset/test/ExtractProd*.java
/org/mycompany/dataset/test/LargeDataset*.java
connectedToProdNetwork
org.apache.maven.plugins
maven-surefire-plugin
/org/mycompany/dataset/test/ExtractProd*.java
runForAsLongAsYouNeed
org.apache.maven.plugins
maven-surefire-plugin
/org/mycompany/dataset/test/LargeDataset*.java
А потом уметь бегать вот так:
mvn package -P connectedToProdNetwork
или
mvn package -P runForAsLongAsYouNeed
или
mvn package -P connectedToProdNetwork,runForAsLongAsYouNeed
----ОБНОВЛЕНИЕ-----
Используя mvn help:effective-pom -P [profileA]
, я смог определить, что если я укажу один профиль, результирующий эффективный pom будет:
[includeFromProfileA]
/org/mycompany/dataset/test/ExtractProd*.java
/org/mycompany/dataset/test/LargeDataset*.java
И если я предоставлю более одного профиля,mvn help:effective-pom -P [profileA],[profileB]
:
[includeFromProfileAOrBSeeminglyArbitraryChoice]
/org/mycompany/dataset/test/ExtractProd*.java
/org/mycompany/dataset/test/LargeDataset*.java
И, наконец, если я добавлю атрибутcombine.children="append"
к элементу
конфигураций профилей и предоставить оба профиля,mvn help:effective-pom -P [profileA],[profileB]
:
[includeFromProfileA]
[includeFromProfileB]
/org/mycompany/dataset/test/ExtractProd*.java
/org/mycompany/dataset/test/LargeDataset*.java
Однако теперь, когда каждый файл указан как
и как
, что происходит?
----ОБНОВЛЕНИЕ 2----
Фактический запуск сборки с этой конфигурацией:
**/TestA.java
**/TestA.java
РазвеНЕзапустите TestA, так что кажется, что
превзойдет
. Обратите внимание, что для полноты картины я изменил порядок и поставил
перед
, но поведение не изменилось. Если кто-нибудь сможет найти где-нибудь неполный исходный код, где описано это поведение, я буду рад дать им ответ...