我正在为PIT编写一个自定义变异引擎,但我遇到麻烦让PIT找到它。我的猜测是,当使用项目运行PIT时,我没有将包含自己引擎的包放在正确的类路径中。要测试我的引擎我正在使用this code并且我正在使用Maven插件运行PIT。在pom.xml文件中,我编写了自定义引擎的名称,甚至是在additionalClassPathElements标记内的路径。似乎没什么用。 PIT一直说它找不到发动机。哪种安全验证是否是类路径问题的最佳方法?或者哪个最简单的让PIT找到我的包并能够使用该插件?
提前致谢,
答案 0 :(得分:0)
问了这个问题已经有一段时间了。 由于PIT搜索外部组件的方式而未找到该插件。该问题已在1.2.1版中解决。当前版本是1.4.9。
您的插件应包含META_INF/MANIFEST.MF
,用于声明以下字段:Implementation-Vendor-Id
和Implementation-Title
。在Maven项目中,groupId
将转到前者,artifactId
将转到后者,因此您实际上不必做任何特别的事情。
最初,PIT使用Implementation-Vendor
,默认情况下它将包含在pom.xml
中声明的组织名称。就我而言,此值与groupId
不同,因此PIT无法找到插件。
如评论中所述,pitest-plugin repository提供了有关如何创建自己的插件的出色示例。 pitest-descartes和pitest-evosuite-plugin是另外两个可能也有帮助的示例。