问题标签 [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 - 允许 Evosuite 在测试生成期间写入文件
我目前正试图让 Evosuite 与JNA合作。考虑以下基本示例:
我使用以下选项从命令行运行 Evosuite:
Evosuite 不会达到 100% 的分支覆盖率(只有微不足道的 33%),但在超时后会通过以下消息通知我:
我发现 JNA 需要编写一些临时文件才能工作,但 Evosuite 会在测试生成期间阻止任何文件写入尝试。我知道在大多数情况下这是一个合理的策略,因为您不希望 Evosuite 在生成函数测试时将随机文件写入磁盘saveFile()
,但在我的情况下,这应该不是问题。
有没有办法告诉 Evosuite 在测试生成期间允许文件写入,或者使用 JNA 库为 java 程序生成测试的不同方法?
java - 如何修复使用evosuite生成测试用例时出现的NoClassDefFoundError错误?
当我使用 evosuite 为我的 android 项目生成测试用例时出现此错误。
刚开始出现这样的错误:“cannot find this class:android.support.v7.widget.Toolbar” 我通过在CP路径中加入Android的jar包:collections-28.0.0.jar解决了这个问题,然后多个文件自动生成用例的过程中出现如下错误:
[MASTER] 21:22:39.979 [logback-2]错误 TestClusterGenerator - com.rapidapp.base.account.AppBaseService 的问题。无法为类 android.support.v7.widget.Toolbar 添加依赖项:java.lang.NoClassDefFoundError:android/support/v7/widget/Toolbar$SavedState [java.lang.Class.getDeclaringClass0(Native Method), java.lang.Class.getDeclaringClass(Class.java:1235), java.lang.Class.getEnclosureClass(Class.java:1277), java.lang.Class.getSimpleBinaryName (Class.java:1443)、java.lang.Class.getSimpleName(Class.java:1309)、java.lang.Class.isAnonymousClass(Class.java:1411)、org.evosuite.setup.TestUsageChecker.canUse(TestUsageChecker. java:155), org.evosuite.setup.TestUsageChecker.canUse(TestUsageChecker.java:338), org.evosuite.setup.TestClusterGenerator.addDependencyClass(TestClusterGenerator.java:975), org.evosuite.setup.TestClusterGenerator.resolveDependencies(TestClusterGenerator .java:358)、org.evosuite.setup.TestClusterGenerator.generateCluster(TestClusterGenerator.java:137)、org.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:118)、org.evosuite.setup.DependencyAnalysis。analyzeClass(DependencyAnalysis.java:132)、org.evosuite.TestSuiteGenerator.initializeTargetClass(TestSuiteGenerator.java:110)、org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:130)、org.evosuite.rmi.service.ClientNodeImpl$1。运行(ClientNodeImpl.java:145)、java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)、java.util.concurrent.FutureTask.run(FutureTask.java:266)、java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617), java.lang.Thread.run(Thread.java:745)]145), java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511), java.util.concurrent.FutureTask.run(FutureTask.java:266), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor .java:1142), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617), java.lang.Thread.run(Thread.java:745)]145), java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511), java.util.concurrent.FutureTask.run(FutureTask.java:266), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor .java:1142), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617), java.lang.Thread.run(Thread.java:745)]
最后,没有生成用例。
java - 如何在 Evosuite 测试生成时获得更多(所有)极端案例?
我要通过测试覆盖的示例目标代码如下所示:
我期待带有参数的测试,b == 1
并b == 5
生成以发现所有可能的ArithmeticException
情况。但是仅ArithmeticException
提供了仅发现 1 个案例的此选项:
(其他生成的测试是div(0, 3); div(-5, 0); div(5, 0); div(-635, 3661);
:)
我已经为 mvn 尝试了这些运行选项,但没有任何帮助:-Dsearch_budget=600 -DtimeInMinutesPerClass=15 -Dminimize=false -Dassertion_strategy=all
有没有办法捕捉所有“棘手”的测试用例?
已经有类似的问题:
Evosuite 只生成几个测试用例(没有答案)
EvoSuite - 获取大多数代码覆盖率的参数(建议使用-Dsearch_budget
不适用于我的案例的参数)
maven - maven 目标使用默认的 maven repo 而不是配置的
我正在尝试使用此处和此处的说明将 evosuite 集成到我的 maven 项目中。
我可以毫无问题地构建项目(全新安装)。我可以毫无问题地执行evosuite:help
或目标。evosuite:prepare
但是我对evosuite:generate
目标有疑问。下载传递依赖项时出现问题。
我们正在使用我们自己的中央存储库,其中包含 evosuite 或 evosuite 插件所需的所有 jar,但我可以在日志中看到evosuite:generate
目标尝试连接到默认的 maven 中央存储库(repo.maven.apache.org)
而不是我配置的存储库。
例如; 我的 paren pom 中有以下配置:
所以当我执行时clean install
,它会从jcenter.bintray.com
但是在执行evosuite:generate
时它会从 repo.maven 下载一些工件,这是为什么呢?如何强制它引用我们的自定义 repo(上面示例中的 jcenter)
这是相同的完整日志。
在调试模式下执行,我看到一个警告
我已经删除了 .m2 文件夹,检查了 jars,手动下载了 jars 并通过 pom 中的本地 url 引用它们。但它并没有解决问题。
当您从没有代理或其他网络限制的环境中执行时,目标执行得很好。因此,我相信如果我能够在目标evosuite:generate
执行时使用我们的 repo 而不是 maven 默认的,我可能能够解决这个问题。
注意:我认为 setting.xml 没有任何问题,它具有代理的所有配置并使用我们自己的工件。
maven - 如何在 pom 文件中配置 evosuite maven 插件的属性?
我需要通过 Maven 为 evosuite 设置一个属性。该属性是assertion_strategy
,我想将其设置为all
我试图通过 maven 命令传递它没有工作。我也尝试通过 pom 设置它,但我想我没有使用正确的标签
当我在 maven 调试模式命令中查看 evosuite jar 执行时,我希望看到 -Dassertion_strategy=all。
谢谢
java - 如何只构建evosuite的客户端模块
我正在尝试运行 Evosuite 客户端模块的测试,但是当我尝试单独编译模块时,maven 无法找到位于同一存储库中并且在我编译完整时正确构建的依赖项(evosuite-runtime)存储库。
查看客户端模块的 POM,依赖版本写为${project.version}我假设找不到它来编译。这显示:
[警告] 无法在项目 evosuite-client 上执行目标:无法解析项目 org.evosuite:evosuite-client:jar:1.0.7-SNAPSHOT 的依赖项:找不到工件 org.evosuite:evosuite-runtime:jar:1.0 .7-快照
...
[错误] 无法在项目 evosuite-client 上执行目标:无法解析项目 org.evosuite:evosuite-client:jar:1.0.7-SNAPSHOT 的依赖项:找不到工件 org.evosuite:evosuite-runtime:jar:1.0 .7-快照
将版本更改为1.0.6时,它可以正常工作,因为该版本在在线 maven 存储库中可用,但1.0.7版本应该在本地动态编译。
这是客户端的模块 pom 部分
以及主项目 pom 的模块部分
有没有人有类似的问题?
maven - 在 Visual Studio 代码中将 Evosuite 插件添加到 Maven 项目时缺少工件 ID
我使用命令面板将以下依赖项添加到我的 pom.xml 文件中:
但是 pom.xml 文件给了我一个错误:
非常感谢任何输入,因为我一直在尝试安装 Evosuite 插件。
java - Java 11 的 Evosuite 插件问题
从 Java 8 升级到 Java 11 时,我遇到了 Evosuite maven 插件(版本 1.0.6)的问题。在运行 maven build 时,evosuite 测试类失败并出现java.lang.ClassNotFoundException Caused by: java.lang.IllegalArgumentException
我的Sample_ESTest.java
文件错误。
pom.xml
Sample_ESTest.java
为了获得更多问题的详细信息,我尝试执行 evosuite help 命令 ( mvn evosuite:help
) 并得到以下错误:
错误说找不到工件 com.sun:tools:jar:1.0.0,但根据我的理解,tools.jar 在 Java11 中被删除。你能帮我解决这个问题吗?
提前致谢!
eclipse-plugin - 我无法将 evosuite 插件添加到我的 Eclipse
- 我安装了eclipse Luna
- 从https://www.evosuite.org/update/下载 evosuite jar
- 将此jar添加到我的项目project-->build path-->configure build path-->Libraries-->Add external jars 4)Eclipse -->help-->InstallNew software-->Ad->Archive-->名称:evosuite 位置:jar:file:/C:/Users/SRAVANI/Documents/Eclipse plugin/org.evosuite.plugins.eclipse.core_1.0.7.201806011952.jar!/ 5)错误:“找不到jar
- 为了解决上述错误,我按照Eclipse 中的建议下载了 visualVM:Getting Error as Could not find jar file while installed Plugin in Eclipse
- 我也面临与之前添加visualVM相同的错误
- 作为最后一次尝试,我将 evosuite.jar 导入项目并添加到类路径中,我无法使用此链接 https://github.com/EvoSuite/evosuite/issues/136中提到的使用 evosuite 选项生成测试
有人可以帮我吗
java - 当类在类路径上时,Surefire 抛出 SurefireReflectionException
我正在尝试运行由 evosuite 生成的单元测试,但是 maven-surefire-plugin 抛出了一个 classnotfound 错误,而“缺失”类似乎在类路径中。
当我尝试运行测试时,调试日志显示在surefire 尝试运行测试时evosuite 位于类路径上;
但它失败了;
我仔细检查了 Killswitch 类是否在 evosuite jar 文件中,并且看起来确实如此。
为了完整起见,这里是mvn -version
;
我正在运行的完整命令(在遵循指南@ https://www.evosuite.org/documentation/tutorial-part-2/之后)是mvn clean compile test-compile evosuite:generate evosuite:export evosuite:prepare test
使用 evosuite 参数 memoryInMB = 4000 和 cores = 4。