问题标签 [randoop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Randoop 执行错误,由于异常无法加载类
我得到的确切错误是:
错误:由于异常,无法加载类“MainClass”:java.lang.NoClassDefFoundError:MainClass(错误名称:thiagodnf/sootparser/example/grocery/MainClass
包括类文件的 Zip,我位于以下文件路径中:
C:\Eclipse\Workspaces\Refactor\sootparser-master\sootparser-example-grocery\target\classes\thiagodnf\sootparser\example\grocery
可以在此链接中找到类文件:
他们自己的文件夹中有很多,所以如果有比 Gdrive 链接更好的共享方式,请告诉我。链接上的文件夹称为“grocery”,它应该作为文件夹放在文件路径的末尾(不是/grocery/grocery)
我试图运行的命令是:C:\Eclipse\randoop>java -Xmx3000m -classpath C:\Eclipse\Workspaces\Refactor\soot parser-master\sootparser-example-grocery\target\classes\thiagodnf\sootparser\exa mple\grocery;C:/Eclipse/randoop/randoop-all-4.1.1.jar randoop.main.Main gentests --testclass=MainClass
源代码存储在此路径:
C:\Eclipse\Workspaces\Refactor\sootparser-master\sootparser-example-grocery\src\main\java\thiagodnf\sootparser\example\grocery
源 .java 文件的链接是:
我重命名了文件夹,因此上传时不会那么混乱,但是它的原始名称是“grocery”,并且上面的路径没有嵌套在里面(/grocery/grocery)
我的java版本是:
到目前为止,我已经尝试了不同的位置和路径来定位“MainClass”,我已经将它移到了根目录,并将它放在与 randoop jar 文件相同的目录中。Randoop 似乎在我的机器上运行其他一些类文件,所以我担心“MainClass”的格式不是 randoop 可以读取的,或者我的命令或位置路径丢失了一些东西。
短期内我希望它针对 MainClass 运行,从长远来看,我需要做一个类文件列表,并针对不同模块中的所有类运行它。
感谢您提供任何帮助,或为我指明正确的方向。如果我可以提供更多信息或澄清,请告诉我。
谢谢!!
junit - 如何修复 Randoop 生成的测试用例中方法的顺序?
我想使用 Randoop 为包含许多 API 函数的应用程序生成单元测试用例。我可以使用选项指定用于形成测试的方法methodlist
。但是,如果此方法使用必须首先使用一些 setter 函数设置的类字段怎么办。目前,在 Randoop 生成的几乎所有测试中,这些 setter 函数都在 API 调用之后被调用。我可以指定在我的测试中调用方法的顺序吗?
testing - 为什么在涉及其他罐子类的情况下,我无法使用 Randoop 生成代码?
我正在尝试使用 Randoop 生成 Java 单元测试用例。假设我有一个名为 ABC 的类。在 ABC 类中,我将 的Logger
类实例log4j
化为一个字段,并且该字段正在被一个方法访问。我已经在 中列出了 ABC 类myClasses.txt
。现在在运行gentests
命令时,我正在获取noClassDefFound error
Logger 实例。如果我们遗漏了什么,请帮忙?
randoop - Naming Randoop regression tests
I would like to have my regression tests generated by Randoop 4.2 to be named (Something)RandoopTest.java, so I set the command line flag --regression-test-basename=RandoopTest
. When I run Randoop, my regression tests all end in RandoopTest0.java (note the 0). For example, when I run the following command,
I get two files generated, as shown by the console output:
Is there an easy way to eliminate the 0? I'm curious as to why it is there. I've never noticed any other numbers besides 0 added to the class name. Currently, our maven scripts are designed to run JUit tests that end in "Test", so the 0 is a bother. (I know I can modify the scripts to automatically run JUnit tests that end in "Test0", but it would be nicer if I didn't have to.)
java - 为整个包生成 randoop 测试用例
如何为整个 java 包生成 randoop 测试用例,而不是在 classes.txt 中提及所有类名。
如果可能的话,根据正在测试的类名来命名这些测试。
java - java.lang.IllegalStateException 试图用 randoop 生成单元测试
我的目标是为我们正在迁移到新平台的大量遗留代码生成非常基本的单元测试。(我知道单元测试以这种方式没有用,但有时会发生)。我们只是因为覆盖百分比而被阻止,所以最好在我们需要的方法中使用基本测试,所以使用自动生成的测试将是最有效的策略。
我找到了 RANDOOP https://randoop.github.io/randoop/并开始尝试让它工作。但是我发现了一个问题,部分原因是我对 java 的了解几乎为零(我在 .net 中做了类似的事情,只需点击几下,不到 4 小时)。
我在这里关注官方手册https://randoop.github.io/randoop/manual/index.html#getting_randoop和这个人的视频,他只是让它工作https://www.youtube.com/watch?v =nPdb-72-EJY。
问题
简单来说,问题是我运行此命令时出现以下错误
上面这是什么?
我从放置在 randoop“安装”文件夹的 bin 文件夹中的控制台运行命令。
C:\randoop-4.2.1\bin 是我解压 Randoop 下载的文件夹。奇怪的是,Randoop 版本下载中没有一个包含 bin 文件夹,所以我随意创建了它。我不知道这是对还是错,但我就是这么做的。
一开始,视频运行以下命令,这非常基本,并且在我的系统上运行良好。
还有一个名为 myclasslist 的文本文件,我不明白为什么这些人从不谈论。我没有。
我安装了 Java 8 c:\program files\jdk1.8.0_231
,路径和环境变量是这样设置的。
编辑
在视频中,这个家伙在 randoop 根文件夹中有 .java 文件。我没有,因为我在 intellij 有一个真正的项目。我刚刚找到了类文件并将其复制到 bin 文件夹中。
java - 无法在 Maven 项目上运行 Randoop
我试图为基于 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 我使用以下代码来生成测试用例:
在此处输入图像描述 这是当前类的路径
所以在我运行上面的 cmd 命令后,我得到以下错误:
因此,如果有人知道使 Randoop 在 Maven 项目上工作的解决方法,请告诉我
java - 无法使用 Randoop 生成测试类
大家好,我正在使用 Randoop,当我尝试生成一些测试用例时,我运行命令并收到以下错误:
D:\Progetti\Junit_test\lib>java -classpath "D:\Progetti\Junit_test\out\production\Junit_test;D:\Progetti\Junit_test\lib\randoop-all-4.2.4.jar" randoop.main.Main gentests --testclass =“com.company.Circle” Randoop for Java 版本“4.2.4,分支主,提交 be6dbd3,2020-07-14”。
非法参数--testclass==com.company.Circle,应该是类名
正如我在网上看到的一些教程,类路径包含两个路径,第一个到我要测试的类的 .class 实例的位置,第二个到 Randoop 的位置。
kotlin - 与 Kotlin 的随机数
有什么办法(除了使用 IntelliJ 将 Kotlin 代码迁移到 Java)让 Randoop 与 Kotlin 一起工作吗?如果没有,在 Kotlin 项目中生成单元测试是否有任何其他“官方”(众所周知、经过测试、广泛使用)解决方案?