2016-07-28 26 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