我正在尝试为一个基于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.MybatisConfigurerenter image description here这是当前类的路径
因此,在我运行上面的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因此,如果有人知道如何在maven项目中使用Randoop,请一定要让我知道。
发布于 2020-04-02 21:39:58
此问题已有答案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个类:
Will explore 0 out of 1 classes
它不能为这0个类中的任何一个创建测试,所以它退出:
There are no operations to test. Exiting.
如果您修复了类路径,您将能够运行Randoop。
https://stackoverflow.com/questions/60987425
复制相似问题