gpt4 book ai didi

java - 无法在 Maven 项目上运行 Randoop

转载 作者:行者123 更新时间:2023-12-01 17:39:24 26 4
gpt4 key购买 nike

我正在尝试为基于 Maven 的 java 应用程序运行 Randoop。通过cmd通过

项目已经编译成功

G:\javapplic\a12>mvn 编译

我想要创建测试的 java 文件存在于:G:\javapplic\a12\src\main\java\org\jaffa\datatypes\configurer

我使用 randoop 生成文件夹中存在的类:G:\javapplic\a12\target\classes\org\jaffa\datatypes\configurer

因此在 cmd 中我使用以下代码来生成测试用例:

java -Xmx3000m -classpath G:\javapplic\a12\target\classes\org\jaffa\datatypes;G:\New\randoop-all-4.2.2.jar randoop.main.Main gentests --testclass=org.jaffa.datatypes.configurer.MybatisConfigurer

How do I resolve ClassNotFoundException?这是当前类的路径

因此,在运行上述 cmd 命令后,出现以下错误:

    G:\javapplic\a12>java -Xmx3000m -classpath G:\javapplic\a12\target\classes\org\jaffa\datatypes;G:\New\randoop-all-4.2.2.jar randoop.main.Main gentests --testclass=org.jaffa.datatypes.configurer.MybatisConfigurer
Randoop for Java version "4.2.2, branch master, commit 4f20da2, 2020-02-29".
Unable to load class "org.jaffa.datatypes.configurer.MybatisConfigurer" due to exception: java.lang.ClassNotFoundException: org.jaffa.datatypes.configurer.MybatisConfigurerWill explore 0 out of 1 classes
There are no operations to test. Exiting.
Model with hashcode 1846896625:
classTypes = [java.lang.Object]
inputTypes = []
coveredClassesGoal = []
classLiteralMap = {}
annotatedTestValues = []
contracts = ContractSet[size=12]
arity 1: [randoop.contract.EqualsReflexive@5cb9f472, randoop.contract.EqualsToNullRetFalse@cb644e, randoop.contract.EqualsReturnsNormally@13805618, randoop.contract.CompareToReflexive@56ef9176, randoop.contract.SizeToArrayLength@4566e5bd]
arity 2: [randoop.contract.EqualsSymmetric@1ed4004b, randoop.contract.EqualsHashcode@ff5b51f, randoop.contract.CompareToAntiSymmetric@25bbe1b6, randoop.contract.CompareToEquals@5702b3b1]
arity 3: [randoop.contract.EqualsTransitive@69ea3742, randoop.contract.CompareToSubs@4b952a2d, randoop.contract.CompareToTransitive@3159c4b8]

omitMethods = [^org.apache.commons.math3.analysis.differentiation., ^org.apache.commons.math3.analysis.integration., \bensuresCapacity\b, ^com.google.common.collect.Iterators.cycle\(, ^org.apache.commons.math4.genetics.GeneticAlgorithm.getRandomGenerator\(\)$, ^org.apache.commons.math4.util.FastMath.random\(\)$, ^java\.util\.Date\.<init>\(\)$, ^java\.io\.File\.listFiles\(\)$, ^java\.io\.File\.listFiles\(java\.io\.FileFilter\)$, ^java\.io\.File\.listFiles\(java\.io\.FilenameFilter\)$, ^java\.io\.File\.listRoots\(\)$, ^java\.io\.File\.list\(\)$, ^java\.io\.File\.list\(java\.io\.FilenameFilter\)$, ^java\.lang\.Class\.getSigners\(\)$, ^java\.lang\.Object\.hashCode\(\)$, ^java\.lang\.String\.hashCode\(\)$, ^java\.lang\.System\.clearProperty\(java\.lang\.String\)$, ^java\.lang\.System\.console\(\)$, ^java\.lang\.System\.currentTimeMillis\(\)$, ^java\.lang\.System\.getProperties\(\)$, ^java\.lang\.System\.getProperty\(java\.lang\.String, java\.lang\.String\)$, ^java\.lang\.System\.getProperty\(java\.lang\.String\)$, ^java\.lang\.System\.getSecurityManager\(\)$, ^java\.lang\.System\.getenv\(\)$, ^java\.lang\.System\.getenv\(java\.lang\.String\)$, ^java\.lang\.System\.identityHashCode\(java\.lang\.Object\)$, ^java\.lang\.System\.inheritedChannel\(\)$, ^java\.lang\.System\.mapLibraryName\(java\.lang\.String\)$, ^java\.lang\.System\.nanoTime\(\)$, ^java\.lang\.System\.setProperty\(java\.lang\.String, java\.lang\.String\)$, ^java\.lang\.reflect\.Method\.hashCode\(\)$, ^java\.text\.BreakIterator\.getAvailableLocales\(\)$, ^java\.util\.AbstractList\.hashCode\(\)$, ^java\.util\.AbstractSet\.hashCode\(\)$, ^java\.util\.Arrays\.deepHashCode\(java\.lang\.Object\[\]\)$, ^java\.util\.Arrays\.hashCode\(boolean\[\]\)$, ^java\.util\.Arrays\.hashCode\(byte\[\]\)$, ^java\.util\.Arrays\.hashCode\(char\[\]\)$, ^java\.util\.Arrays\.hashCode\(double\[\]\)$, ^java\.util\.Arrays\.hashCode\(float\[\]\)$, ^java\.util\.Arrays\.hashCode\(int\[\]\)$, ^java\.util\.Arrays\.hashCode\(java\.lang\.Object\[\]\)$, ^java\.util\.Arrays\.hashCode\(long\[\]\)$, ^java\.util\.Arrays\.hashCode\(short\[\]\)$, ^java\.util\.Collection\.hashCode\(\)$, ^java\.util\.Collections\.shuffle\(java\.util\.List\)$, ^java\.util\.Comparator\.compare\(java\.lang\.Object, java\.lang\.Object\)$, ^java\.util\.List\.hashCode\(\)$, ^java\.util\.Random\.<init>\(\)$, ^java\.util\.Set\.hashCode\(\)$]
Operations:
java.lang.Object.<init> : () -> java.lang.Object

因此,如果有人知道使 Randoop 在 Maven 项目上工作的解决方法,请告诉我

最佳答案

这个问题已经有答案 here 。我将在这里重复答案,但以后请一次向一个论坛提出您的问题。

这个问题与Maven无关。

您的问题的答案在您提供的日志中。您需要修复您的类路径。

您的 Randoop 调用仅指定一个要测试的类:

--testclass=org.jaffa.datatypes.configurer.MybatisConfigurer

但是,在类路径中找不到该类:

Unable to load class "org.jaffa.datatypes.configurer.MybatisConfigurer" due to exception: java.lang.ClassNotFoundException: org.jaffa.datatypes.configurer.MybatisConfigurer

因此,Randoop 尝试测试 0 个类:

将探索 1 门类(class)中的 0 门

它无法为这 0 个类中的任何一个创建测试,因此它退出:

没有要测试的操作。退出。

如果修复了类路径,您将能够运行 Randoop。

关于java - 无法在 Maven 项目上运行 Randoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60987425/

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