2

我正在为PIT编写一个自定义 Mutation Engine ,但我很难让 PIT 找到它。我的猜测是,在使用项目运行 PIT 时,我没有将带有我自己引擎的包放在正确的类路径中。为了测试我的引擎,我正在使用这段代码,并且正在使用 Maven 插件运行 PIT。在 pom.xml 文件中,我在 AdditionalClassPathElements 标记中写入了自定义引擎的名称,甚至它的路径。似乎没有任何效果。PIT 一直说找不到引擎。哪个是安全验证它是否是类路径问题的最佳方法?或者哪个是让 PIT 找到我的包并能够使用插件最简单的方法?

提前致谢,

4

1 回答 1

0

自从发布这个问题以来已经有一段时间了。由于 PIT 搜索外部组件的方式,未找到该插件。该问题已在 1.2.1 版中解决。当前版本是 1.4.9。

您的插件应包含META_INF/MANIFEST.MF声明以下字段:Implementation-Vendor-IdImplementation-Title. 在 Maven 项目中,groupId前者和artifactId后者都有,所以你真的不需要做任何特别的事情。

最初,PIT 使用Implementation-Vendor它,默认情况下将包含在pom.xml. 就我而言,此值与 不同groupId,因此 PIT 无法找到插件。

正如评论中所说,pitest-plugin 存储库提供了有关如何创建自己的插件的很好的示例。Pitest-DescartesPitest-evosuite-plugin是另外两个可能也有用的例子。

于 2019-08-05T08:31:50.087 回答