PTTest 失败并且未生成突变覆盖率

2023-12-21

我想生成突变测试覆盖率。我正在对 PI 测试进行 POC 但这并不是参加我的考试课程而失败。我已经在 pom.xml 中配置了 PTTest 插件。我检查了pom.xml文件中的目标类包名称和目标测试类包名称是否正确。

我遇到以下错误 -

10:50:29 AM PIT >> INFO : Mutating from D:\IR\workspace\cleanup_trunk\reporterDx-service\target\classes
10:50:29 AM PIT >> INFO : Verbose logging is disabled. If you encounter an problem please enable it before reporting an issue.
10:50:30 AM PIT >> INFO : Sending 0 test classes to slave
10:50:30 AM PIT >> INFO : Sent tests to slave
10:50:30 AM PIT >> INFO : Calculated coverage in 0 seconds.
10:50:30 AM PIT >> INFO : Created  0 mutation test units
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.575s
[INFO] Finished at: Wed Sep 02 10:50:30 IST 2015
[INFO] Final Memory: 13M/244M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.pitest:pitest-maven:1.1.4:mutationCoverage (default-cli) on project reporterDx-service: Execution default-cli of goal org.pitest:p
itest-maven:1.1.4:mutationCoverage failed: No mutations found. This probably means there is an issue with either the supplied classpath or filters.
[ERROR] See http://pitest.org for more details.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.pitest:pitest-maven:1.1.4:mutationCoverage (default-cli) on project reporterDx-ser
vice: Execution default-cli of goal org.pitest:pitest-maven:1.1.4:mutationCoverage failed: No mutations found. This probably means there is an issue with either the
supplied classpath or filters.
See http://pitest.org for more details.
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.pitest:pitest-maven:1.1.4:mutationCoverage failed: No mutations found.
 This probably means there is an issue with either the supplied classpath or filters.
See http://pitest.org for more details.
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)

这是我的 pom.xml 文件 -

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>1.1.4</version>
    <configuration>
        <targetClasses>
            <param>com.mutation.dx.pitestdemo</param>
        </targetClasses>
        <targetTests>
            <param>com.mutation.dx.pitestdemo</param>
        </targetTests>
    </configuration>
</plugin>

下面是我想要生成突变的类

package com.mutation.dx.pitestdemo;

import org.springframework.beans.factory.annotation.Autowired;

public class PIDemoImpl implements PIDemo {

    @Autowired
    private PIDemoDao piDemoDao; 

    @Override
    public PIDto getPIDetails(String name, int firstNumber,int secondNumber) {
        int thirdNumber = firstNumber * secondNumber;
        PIDomain piDomain =  piDemoDao.getPIDomain(name, thirdNumber);
        if(piDomain != null) {
            PIDto piDto = new PIDto();
            piDto.setName(piDomain.getName());
            int result = piDomain.getX() + piDomain.getY();
            if(result >= 0 ) {
                piDto.setResult(result);
            }
            return piDto;
        }
        return null;
    }
}

下面是我的测试课-

package com.mutation.dx.pitestdemo;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.verify;
import org.mockito.runners.MockitoJUnitRunner;

import com.mutation.dx.pitestdemo.PIDemoImpl;

@RunWith(MockitoJUnitRunner.class)
public class PIDemoImplTest {
    @Mock
    private PIDemoDao piDemoDao;

    @InjectMocks
    PIDemoImpl piDemoImpl;

    @Test
    public void getPIDetailsTest(){
        String name = "Persistent";
        int firstNumber = 0;
        int secondNumber = 10;
        int thirdNumber = 0;
        PIDomain piDomain = new PIDomain();
        piDomain.setName(name);
        piDomain.setX(2);
        piDomain.setY(2);
        when(piDemoDao.getPIDomain(name, thirdNumber)).thenReturn(piDomain);
        PIDto piDto = piDemoImpl.getPIDetails(name , firstNumber, secondNumber);
        Assert.assertNotNull(piDto);
        Assert.assertEquals(piDto.getName(),name);
        verify(piDemoDao).getPIDomain(name, thirdNumber);
    }
}

我正在使用mockito 来模拟对象。


您的过滤器看起来不正确。 Pitest 期望与每个类的完全限定名称相匹配的 glob。

代替

com.mutation.dx.pitestdemo

Try

com.mutation.dx.pitestdemo.*

The *通配符应该匹配包中的所有类。

自 1.2.0 起targetClasses and targetTests从 maven 运行时通常不需要指定 - Pitest 现在将扫描项目并自动确定项目中定义了哪些包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTTest 失败并且未生成突变覆盖率 的相关文章

随机推荐

  • 使用 DATEVALUE 函数时 Excel #Value 错误

    In cell A2 I have 7 21 2014 12 44 36 PM 当我使用DATEVALUE LEFT A2 FIND A2 1 我收到错误 VALUE 当我使用LEFT A2 FIND A2 1 I get 7 21 201
  • 铁路路线和站点性能

    站点速度与Rails 应用程序的routes rb 文件中的命名空间 路由数量是否有直接关联 我正在处理一个相当大的应用程序 其中包含 30 多个不同的模型 实体 并且大多数资源都有自己的路由 路由的数量会影响内存开销 这就是为什么 Rai
  • Git over HTTP 在 Apache error_log 中生成身份验证失败

    我的 Git over HTTP s 设置遇到了非常烦人的问题 尽管它可以通过 HTTP 运行 但我在 Apache 的 error log 中收到一条错误消息 指出身份验证失败 我尝试跟踪 Apache 和 git 客户端之间的通信 似乎
  • DataStudio 和 SQL 将时间格式从数字更改为 hh:mm:ss

    我想在 Datastudio 或 SQL 中将度量格式从 float 更改为 HH MM SS 例如 Float HH MM SS 75 00 01 15 90 00 01 30 79 5 00 01 20 ETC 如果您输入的秒数适合 2
  • Python MemoryError:无法分配数组内存

    我有一个 250 MB 的 CSV 文件 需要读取大约 7000 行和大约 9000 列 每行代表一幅图像 每列代表一个像素 灰度值0 255 我从一个简单的开始np loadtxt data training nohead csv del
  • If-Block 周围的 JSLint 大括号

    在 Javascript 中 如果if表达式后面没有大括号 下面的语句放在if堵塞 那是 if foo bar baz 相当于 if foo bar baz Douglas Crockford 建议不要使用第一个 因为它会令人困惑 并且如果
  • 包含 SQL 索引提示如何影响查询性能?

    假设我在 SQL 2005 数据库中有一个表 其中包含 2 000 000 多条记录和一些索引 在查询中使用索引提示有什么优势 在查询中使用索引提示是否有缺点 首先 尝试使用 SQL Profiler 在数据库中生成几个小时内正常工作负载活
  • 使用 Postman 对 Django Web 服务进行 Http post 请求(需要登录信息)

    我想向我之前实现的 web 服务发送一个 http 请求 该服务需要用户登录 现在 我实现了一个表单页面来为我执行此操作 我需要针对每个不同的请求更改它 据我所知 Django需要 csrftoken 和 sessionid 来允许请求 不
  • 从 MySQL 中的两个表中选择数据

    我拥有的 下一个结构 表零 gt id 主要具有自动增量 gt 其他 table 1 gt id 表零 id 的外键 gt varchar 80 示例值 aahellobbb gt 一个字段 table 2 gt id 表零 id 的外键
  • Symfony 安全注销未清除 RememberMe 令牌

    将 Symfony 4 与security yaml像这样 encoders App Entity User sha256 providers public users entity class App Entity User proper
  • 即使按下设备的剪切按钮,Midlet 也不能​​关闭

    我在 J2ME 工作 我希望我的 MIDlet 必须运行无限长的时间 即使我按设备上的任何键 它也不能关闭 请帮我解决这个问题我该怎么办 如果您使用的是诺基亚手机 您可以在 Jad 文件中添加 Nokia MIDlet No Exit tr
  • 如何在 ruby​​ 中通过 SSL 调用 HTTP POST 方法?

    这是使用curl 的请求 curl XPOST H content type application json d credentials username username key key https auth api rackspace
  • 循环和科拉茨猜想

    我在循环和声明变量方面遇到问题 目前我正在制作一个关于 Collat z 猜想的程序 该程序应该检查从一定数量的 Collat z 序列中到达一个的最大步骤是什么 这是我的代码 start num int input insert a st
  • 标签是否会被弃用?

    这比任何悬而未决的灾难更令人好奇 D So the b and i 标签从网络诞生之初就已经存在了 我想 但现在我们有了CSS 而且很多人都在使用 风格化的html 标签 它们是风格标签 但它们实际上并没有那么糟糕 因为它们使我们不必制作一
  • PHP中获取字符串的第一行

    在 PHP 5 3 中有一个不错的功能 http www php net manual en function strstr php这似乎做我想做的 strstr input n true 不幸的是 服务器运行 PHP 5 2 17 和可选
  • IBM Watson Visual Recognition - 由于凭证无效,访问被拒绝

    我正在尝试将IBM Watson Visual Recognition 工具与nodejs express 结合使用 我按照指示guide https www ibm com watson developercloud visual rec
  • 如何让bulletphysicals/bulletsharps 的多线程工作?

    也就是说 设置 BulletSharp 物理引擎包装器的 DynamicsWorld 以使用 BulletSharp MultiThreaded ParallelConstraintSolver 所需的最小代码集是什么 或者 我可能可以通过
  • 如何将 ByteString 转换为 Int 并处理字节顺序?

    我需要在 Haskell 中读取二进制格式 格式相当简单 四个八位位组指示数据的长度 后面跟着数据 四个八位位组表示网络字节顺序的整数 我怎样才能转换ByteString四个字节为一个整数 我想要一个直接转换 在 C 语言中 那就是 int
  • Python lambda 与正则表达式

    当在 python 中使用 re 的 re sub 部分时 如果我没有记错的话 可以使用 sub 函数 据我所知 它会将匹配传递给传递的任何函数 例如 r re compile r A Za z r sub function string
  • PTTest 失败并且未生成突变覆盖率

    我想生成突变测试覆盖率 我正在对 PI 测试进行 POC 但这并不是参加我的考试课程而失败 我已经在 pom xml 中配置了 PTTest 插件 我检查了pom xml文件中的目标类包名称和目标测试类包名称是否正确 我遇到以下错误 10
Powered by Hwhale