问题标签 [evosuite]
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 - 仅对新的/修改的代码生成测试
考虑到 Maven 的工作方式,也许很明显,但我对此有点陌生。
我目前正在通过 maven 使用 evosuite 来生成测试,我的问题是:
是否可以只为新的/修改的代码生成测试而不是生成整个套装?
java - 使用 Maven 时如何传递 EvoSuite 参数?
使用 Evosuite 生成测试用例时,我们可以传递多个参数,例如:
通常,这些参数仅由 传递-D<param>=<value>
。但是对于我的项目,我使用的是 Maven,而不是从命令行调用 Evosuite 直接。
我试过mvn -D<param>=<value>
了,但它似乎不起作用。关于如何做到这一点的任何想法?
java - Evosuite(maven)无法生成测试/编辑:尝试了eclipse插件
我正在使用 Eclipse Luna 中的 Maven 插件,使用 JDK 1.8 测试 evosuite(生成 junit 测试的自动化工具)
我遵循了 evosuite 教程中给出的教程:http ://www.evosuite.org/documentation/tutorial-part-2/
能够使用 evosuite 提供的教程文件生成测试,但是当我在我正在从事的项目之一上尝试它时,当我在 cmd 中启动 mvn evosuite:generate 时它无法生成测试。
了解我首先需要进行 mvn 编译,它实际上在文件夹“target\classes”中生成所有 .class 文件,我实际上检查了物理文件确实存在于文件夹“Classes”中。文件夹结构与文件夹“src\main\java”中的完全相同。
当我启动 "mvn evosuite:generate" 时,它实际上开始生成,它显示:
[INFO] 从 /127.0.0.1:58449 注册的远程进程
[INFO] 将执行 139 个作业
[INFO] 预计完成时间:278 分钟,截至 2018-04-22T05:33:27.051
[INFO] 开始作业: “Java 文件”。预计将在 1158 秒内结束,
到 2018-04-22T01:14:45.848
它一直持续到最后一个 java 文件,显示如下:
[INFO] * 将数据库更新为“java 文件名”
然后是这样的:
=== CTG 运行结果 ===
[INFO] 已删除测试套件:0
[INFO] 新测试套件:0
[INFO] 缺少类:
[INFO]“Java 文件名”
并以此声明结束
[INFO] WARN:无法为 139 个类中的 139 个生成测试
[INFO] 停止生成进程管理器
[INFO] ------------------------- --------------------------------------------------------
[信息] 构建成功
[信息]------------------------------------------------ ---------------------
[INFO] 总时间:52:44 min
[INFO] 完成时间:2018-04-22T01:47:02+08:00
[信息] --------------------------------------------- ----------------------
我想知道我是否错过了任何步骤?因为使用相同的步骤,我可以使用 evosuite 提供的 tutorial_maven 生成测试用例。
或者这是由于evosuite无法处理和生成单元测试的项目和java文件的复杂性?
请指教!谢谢!我尝试了许多不同的方法,mvn clean install 反复,但无济于事。
编辑:也为 evosuite 尝试了 eclipse 插件:得到了同样的错误,说找不到 test.java 文件,这很奇怪。插件不应该生成测试文件吗?
evosuite - EvoSuite 无法连接到服务器
我按照 evosuite 官方教程 ( http://www.evosuite.org/documentation/tutorial-part-1/ ) 的确切步骤进行操作,而我总是得到的是: IMAGE
它总是说“注册客户端服务失败”,然后由于连接失败而引发了java异常。我的设备已完美连接到互联网。我尝试 ping 连接站点并且有回复。我应该怎么办?
java - 运行与安全管理器相关的 EvoSuite 测试时出现异常
我正在尝试使用本教程运行 EvoSuite 测试。
我能够生成测试类并使用 java 8 编译它们。但是,当尝试使用以下命令运行它时,会引发异常。
抛出异常:
有人可以帮助/指导我解决这个问题吗?提前致谢。
附加信息:
测试类是一个单例,它使用 JDBC API 连接到数据库以检索某些值。
java - 如何通过 EvoSuite 生成失败的测试用例?
在学习使用 Evosuite 的时候,我写了一些错误的方法。例如其中一个类的方法A
直接调用 interface 的抽象方法B
,EvoSuite 生成一个 mockB
来避免 case 失败:
对于可能发生被零除的方法,EvoSuite 生成的测试用例甚至会捕获异常以确保测试用例通过:
EvoSuite 自动生成的测试用例是否总是通过,就像这些示例一样?如何让 EvoSuite 生成可能失败的测试用例,从而让开发人员直接使用?
classpath - 如何指定 Evosuite 依赖项
当您想使用 Evosuite 为 java 项目生成测试时,您必须指定:
被测班级
您可以在其中找到被测类的字节码及其依赖项的类路径
所以我在命令提示符下给出以下内容:
$EVOSUITE
代表java -jar evosuite.jar
com.lightbend.akka.sample
代表我有四个要测试的类的包。
target/classes
是我的所有类都在测试字节码下的文件夹。
target/dependency
是我将依赖项作为 jar 包的文件夹。
在被测试的四个类中,一个没有依赖关系。它是堆栈弹出和推送的简单实现。如果我在com.lightbend.akka.sample
Evosuite 自动生成的此类的测试套件中只有此类。
其他三个类是使用 AKKA 的实现,因此在内部的其他 jar 中依赖 Akka jar target/dependency
。对于这些测试,生成失败,因为 Evosuite 找不到类:Error while initializing target class: Class not found: akka/actor/ActorRef:
我究竟做错了什么?如何使用 Evosuite 为具有外部依赖关系的多个类生成测试?
以下是发出上述命令后的完整错误:
java - ERROR EvoSuite - EvoSuite 主进程发生致命崩溃
尝试运行 EvoSuite 时出现以下错误。我什至提供了 jdk 的完整路径,但仍然没有解决错误。请帮帮我。
java - EvoSuite 没有生成任何测试
我在 IntelliJ 中安装了用于自动生成 JUnit 测试的“EvoSuite”插件,并尝试了一些示例代码/项目。这些项目都不会让 EvoSuite 生成任何测试。
仅生成带有空正文的默认测试。是这样吗?或者我在这里错过了什么?
任何帮助表示赞赏。也许来自已经在使用 EvoSuite 的人?
顺便说一句,我收到以下错误日志:
oracle - 如何解决 Evosuite 生成的测试中的 oracle jdbc 代理类错误?
我已经编写了一个 JDBC 驱动程序,并且正在尝试使用 Evosuite 为其生成测试。我正在使用以下命令行:
生成的代码如下:
我在第一行收到以下错误: :[4618,7] not a statement :[4618,13] ';' 预期(在同一行出现此错误三次)
我希望关闭嘲笑,但它似乎没有用。
我会尝试稍后提供更多详细信息,但是任何人的初步想法?
谢谢!