Как я могу исправить ошибку NoClassDefFoundError, которая возникает при использовании evosuite для генерации тестовых случаев? - PullRequest
0 голосов
/ 24 марта 2019

Я получил эту ошибку, когда использовал evosuite для генерации тестовых случаев с моим проектом Android.

В начале была такая ошибка: «не могу найти этот класс: android.support.v7.widget.Toolbar» Я решил эту проблему, добавив пакет jar для Android: collection-28.0.0.jar в путь CP , а затем произошла следующая ошибка в процессе автоматической генерации сценариев использования для нескольких файлов:

[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 (собственный метод), 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.setresGeneratorTegn. .java: 358), org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:137), org.evosuite.setup.DependencyAnalysis.analyze (DependencyAnalysis.java:118), org.evosuitepenal.nalup.nalupeal.setupe. 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:5. util.concurrent.FutureTask.run (FutureTask.java:266), java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142), java.util.concurrent.ThreadPoolExecutor $17. , java.lang.Thread.run (Thread.java:745)]

Наконец, вариант использования не генерируется.

1 Ответ

0 голосов
/ 24 марта 2019

Я сталкивался с этим исключением прежде, когда (пытаясь) запустить код, который был скомпилирован в одной операционной системе в другой.Также, когда произошли обновления для ОС.

Хотя вы могли подумать, что обратная совместимость должна устранить это позже, это не всегда так!

...