gpt4 book ai didi

java - 我如何运行一个 pitest ant 脚本

转载 作者:行者123 更新时间:2023-11-30 11:08:21 32 4
gpt4 key购买 nike

我正在尝试创建一个 ant 脚本来运行 pitest 以便能够自动化我的突变测试。我收到错误:

Could not find or load main class org.pitest.mutationtest.commandline.MutationCoverageReport

这是我的 MutationTest.xml Ant 脚本

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="mutationCoverage" name="PhoneBook">
<property name="ECLIPSE_HOME" value="C:/Program Files/eclipse/"/>
<path id="JUnit 4.libraryclasspath">
<pathelement location="${ECLIPSE_HOME}plugins/org.junit_4.11.0.v201303080030/junit.jar"/>
<pathelement location="${ECLIPSE_HOME}plugins/org.hamcrest.core_1.3.0.v201303031735.jar"/>
</path>
<path id="PhoneBook.classpath">
<pathelement location="bin"/>
<path refid="JUnit 4.libraryclasspath"/>
</path>
<path id="pit.path">
<pathelement location="lib/pitest-1.1.4.jar" />
<pathelement location="lib/pitest-ant-1.1.4.jar" />
</path>

<taskdef name="pitest" classname="org.pitest.ant.PitestTask" classpathref="pit.path" />

<target name="mutationCoverage">
<pitest
pitClasspath="PhoneBook.path"
classPath="PhoneBook.path"
targetClasses="pbook.*"
targetTests="pbook.*"
reportDir="MutationReports"
sourceDir="src"/>
</target>
</project>

是什么导致了这个错误,我该如何解决?

编辑:我将 pitClasspath="PhoneBook.path" 更改为 pitClasspath="pit.path" 现在我有一个新错误:

[pitest] Exception in thread "main" org.pitest.util.PitError: Unable to load class content for org.pitest.boot.HotSwapAgent
[pitest] Please copy and paste the information and the complete stacktrace below when reporting an issue
[pitest] VM : Java HotSpot(TM) 64-Bit Server VM
[pitest] Vendor : Oracle Corporation
[pitest] Version : 25.25-b02
[pitest] Uptime : 370
[pitest] Input ->
[pitest] BootClassPathSupported : true
[pitest] at org.pitest.mutationtest.tooling.JarCreatingJarFinder.classBytes(JarCreatingJarFinder.java:124)
[pitest] at org.pitest.mutationtest.tooling.JarCreatingJarFinder.addClass(JarCreatingJarFinder.java:113)
[pitest] at org.pitest.mutationtest.tooling.JarCreatingJarFinder.createJarFromClassPathResources(JarCreatingJarFinder.java:98)
[pitest] at org.pitest.mutationtest.tooling.JarCreatingJarFinder.createJar(JarCreatingJarFinder.java:74)
[pitest] at org.pitest.mutationtest.tooling.JarCreatingJarFinder.getJarLocation(JarCreatingJarFinder.java:63)
[pitest] at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:70)
[pitest] at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:43)
[pitest] at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:72)
[pitest] at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:43)

我不知道这是好是坏,但希望它能帮助您找到问题。

最佳答案

处提供了一个 pitest ant 构建的工作示例

https://github.com/hcoles/pitest-ant-example

我建议您从这里开始并对其进行编辑,直到您的代码库构建工作正常为止。

我能看到的一个区别是您没有在 pitest 路径中包含 junit。

您的构建看起来有点奇怪,因为它似乎与 eclipse 相关联。如果您从 IDE 运行,为什么不使用 eclipse 插件?

此外,如果您不依赖 Ant,您可能需要考虑将 maven 作为替代方案。

关于java - 我如何运行一个 pitest ant 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595716/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com