如何解决使用evosuite生成测试用例时出现的NoClassDefFoundError错误?

时间:2019-03-24 13:39:10

标签: java android evosuite

当我使用evosuite在我的android项目中生成测试用例时,出现了此错误。

一开始,有一个错误:“找不到此类:android.support.v7.widget.Toolbar”我通过将Android的jar包:collections-28.0.0.jar添加到CP路径中解决了此问题。 ,然后在为多个文件自动生成用例的过程中发生以下错误:

[MASTER] 21:22:39.979 [logback-2] ERROR TestClusterGenerator-com.rapidapp.base.account.AppBaseService的问题。无法为类android.support.v7.widget.Toolbar添加依赖项:java.lang.NoClassDefFoundError:android / support / v7 / widget / Toolbar $ SavedState [java.lang.Class.getDeclaringClass0(本机方法),java.lang.Class.getDeclaringClass(Class.java:1235),java.lang.Class.getEnclosingClass(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( .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.gener ateTestSuite(TestSuiteGenerator.java:130),org.evosuite.rmi.service.ClientNodeImpl $ 1.run(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)]

最后,不会生成用例。

1 个答案:

答案 0 :(得分:0)

在(尝试)运行在一个操作系统上已编译的代码之前,我曾遇到过此异常。另外,当操作系统发生更新时。

尽管您可能认为向后兼容性应在以后删除它,但并非总是如此!