Java 如何运行最可怜的ant脚本
我正在尝试创建一个ant脚本来运行pitest,以便能够自动化我的变异测试。我得到一个错误: 无法找到或加载主类org.pitest.mutationtest.commandline.MutationCoverageReport 这是我的MutationTest.xml ant脚本Java 如何运行最可怜的ant脚本,java,ant,pitest,Java,Ant,Pitest,我正在尝试创建一个ant脚本来运行pitest,以便能够自动化我的变异测试。我得到一个错误: 无法找到或加载主类org.pitest.mutationtest.commandline.MutationCoverageReport 这是我的MutationTest.xml ant脚本 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <project basedir="." default="mutationCovera
<?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>
我不知道这是好是坏,但希望这将有助于发现问题。最简单的ant构建的工作示例在 我建议您从这个开始并编辑它,直到您有一个代码库的工作构建 我可以看到的一个区别是,您没有在最可怜的路径中包含junit 您的构建看起来有点奇怪,因为它似乎与eclipse有关。如果您是从IDE运行的,为什么不使用eclipse插件呢
此外,如果你不与蚂蚁绑定,你可能想考虑Maven作为替代。
我相信你的问题是,你尝试使用Eclipse生成的Buff.xml文件,它不包含突变测试目标,并且你添加的目标来弥补这个错误。
我建议从项目开始,尝试理解它是如何工作的,然后更改build.xml文件以满足您的需要。 但是,如果这不起作用,根据您的判断,以下build.xml应该在以下情况下起作用:
< /代码>(PITEST)警告:请考虑将此报告给Or.Pistest.ReLo.xFiel.C.U.L.Field[Pist]警告:使用-非法访问=警告以启用进一步非法反射访问操作的警告(PITEST)警告:所有非法访问操作将在未来版本中被拒绝[PITEST ]上午11:22:50 PIT>>信息:详细日志记录已禁用。如果遇到问题,请在报告问题之前启用它。线程“main”java.lang.IllegalArgumentException中的[pitest]异常位于org.pitest.reloc.asm.ClassReader上的线程“main”java.lang.IllegalArgumentException[pitest]。(未知源)[pitest]位于org.pitest.reloc.asm.ClassReader。(未知源)[pitest]位于org.pitest.classinfo.classinfo.classinfo.getClassInfo(ClassInfoVisitor.java:41)如何解决这个问题
[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)