发布 运行 个自定义 PIT 突变引擎插件

Issues running a custom PIT Mutation Engine Plugin

我正在为 PIT, but I'm having troubles getting PIT to find it. My guess is that I'm failing to put the package with my own engine in the right classpath when running PIT using a project. To test my engine I'm using this code 编写一个自定义 Mutation Engine,并且我正在 运行 PIT 使用 Maven 插件。在 pom.xml 文件中,我在 additionalClassPathElements 标签中写下了自定义引擎的名称,甚至是它的路径。似乎没有任何效果。 PIT 一直说找不到引擎。哪个是安全验证它是否是类路径问题的最佳方法?或者哪个是最简单的让 PIT 找到我的包并能够使用插件?

提前致谢,

这个问题发布已经有一段时间了。 由于 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 repository provides great examples on how to create your own plugins. pitest-descartes and pitest-evosuite-plugin 是其他两个可能也有帮助的示例。