2016-07-28 25 views
0

我在我的POM文件如下:PITest:配置不正確應用

的pom.xml

<reporting> 
    <plugins> 
     <plugin> 
      <groupId>org.pitest</groupId> 
      <artifactId>pitest-maven</artifactId> 
      <version>1.1.8</version> 
      <configuration> 
       <targetClasses> 
        <param>com.myService.utility.*</param> 
       </targetClasses> 
       <reportsDirectory>/my-service/target</reportsDirectory> 
       <targetTests> 
        <param>com.myService.utility.util.*</param> 
       </targetTests> 
       <timeoutConstant>5000</timeoutConstant> 
       <excludeClasses> 
        <param>com.myService.utility.EmailImpl.java</param> 
        <param>com.myService.utility.Email.java</param> 
        <param>com.myService.utility.ValidationUtil.java.java</param> 
       </excludeClasses> 
       <avoidCallsTo> 
        <avoidCallsTo>org.apache.log4j</avoidCallsTo> 
        <avoidCallsTo>org.slf4j</avoidCallsTo> 
        <avoidCallsTo>org.apache.commons.logging</avoidCallsTo> 
       </avoidCallsTo> 
      </configuration> 
      <reportSets> 
       <reportSet> 
        <reports> 
         <report>report</report> 
        </reports> 
       </reportSet> 
      </reportSets> 
     </plugin> 
    </plugins> 
</reporting> 

當我運行測試,超時沒有按」 t似乎已經從默認的3000改變了,excludeClasses中的類仍然被拾取,並且它仍然抱怨log4j的配置(如果它是log4j2,所以這看起來像我的錯誤,因爲沒有指定)。我無法在PITest文檔或其他任何地方找到很多示例,使用targetClasses和targetTest減去非常簡單的示例。

編輯:我嘗試更改報告標記以構建標記並刪除了reportSets部分。仍然沒有變化;實用程序src包中包含6個類,其中我在pom中列出的3個類應該被排除,並且在測試對應包中有3個測試文件。記者仍在拉動課程被排除在外,顯示爲0%的線路和突變覆蓋率。它也抱怨log4j configs儘管avoidCallsTo值

回答

1

配置需要在構建/插件下提供,而不是報告。

不幸的是,當maven不能將XML映射到插件時,它不會引發任何錯誤。

包含/排除類接受水珠對java包 - 沒有源文件,以便應該是這個樣子: -

<excludeClasses> 
    <param>com.myService.utility.EmailImpl</param> 
    <param>com.myService.utility.Email</param> 
    <param>com.myService.utility.ValidationUtil</param> 
</excludeClasses> 
+0

是啊,我最終放棄了報告塊移動它來建立,但它仍然似乎並不去工作,或者它可能不會按照我所設想的方式工作。這聽起來很愚蠢,但在上面的例子中,格式應該排除那些源文件? – jbailie1991

+0

實際上劃傷評論,格式工作,我現在可以過濾被測試的類 – jbailie1991