maven -surefire -плагин включения/исключения приоритета

При использовании плагина 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, так что кажется, что превзойдет . Обратите внимание, что для полноты картины я изменил порядок и поставил перед , но поведение не изменилось. Если кто-нибудь сможет найти где-нибудь неполный исходный код, где описано это поведение, я буду рад дать им ответ...

20
задан A_Di-Matteo 24 June 2017 в 10:52
поделиться