Как генерировать тесты с evosuite на Ubuntu

Я попытался создать тесты, используя evosuite автономный JAR из командной строки.

Мой каталог проекта имеет источник в src/czytacz и в каталоге проекта есть файл antlr-4.3-complete.jar

Это то, что я должен сделать: скопировать evosuite jar в каталог проекта.

Используйте команду для настройки evosuite для проекта:

java -jar evosuite-0.1.1.jar -setup src/czytacz antlr-4.3-complete.jar

Используйте команду для создания тестов:

java -jar evosuite-0.1.1.jar -trarget src/czytacz

Выход из evosuite:

  • EvoSuite
  • Найдено 0 подходящих классов в целевом src/czytacz
  • Анализ пути к классам (создание дерева наследования)
    • ANTLR-4,2-complete.jar
    • SRC / czytacz

Тесты не созданы для моего проекта

-------------------------------редактировать---------------------------------

Спасибо arcuri82 его решить мою проблему, но у меня есть другая.

За:

krzysiek @ krzysiek-Latitude-D630: ~ / git $ sudo java -jar evosuite-0.1.1.jar -projectCP / home / krzysiek/ workspace / czytacz -target / home / krzysiek/ рабочая область /czytacz/bin/czytacz

Я получил:

  • EvoSuite
  • Найдено 6 подходящих классов в target /home/krzysiek/workspace/czytacz/bin/czytacz
  • Анализ пути к классам (создание дерева наследования)
    • / Главная / Krzysiek/ рабочее пространство / czytacz
    • / Главная / Krzysiek/ рабочее пространство / czytacz / бен / czytacz
  • Текущий класс: Run
  • Собираемся генерировать тестовые случаи для класса: Run
  • Стартовый клиент
  • Подключение к главному процессу через порт 9969
  • Анализируя classpath:
  • Дерево наследования загружено из /tmp/ES_inheritancetree2228980810912137439.xml.gz
  • Ошибка при инициализации целевого класса: Целевой класс не найден в дереве наследования [MASTER] 12:37:11.978 [pool-1-thread-2] ОШИБКА TestSuiteGenerator - Проблема для запуска. Полный стек: java.lang.ClassNotFoundException: Целевой класс не найден в дереве наследования на org.evosuite.setup.DependencyAnalysis.analyze (DependencyAnalysis.java:85) ~ [evosuite-0.1.1.jar:na] в org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) ~[evosuite-0.1.1.jar:na] в org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) [evosuite-0.1.1.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45] в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45] в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) [.0_45] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
  • Вычисление завершено [MASTER] 12: 37: 12.272 [main] ОШИБКА SearchStatistics - Статистика не была сохранена, поскольку EvoSuite не удалось создать ни одного тестового примера [MASTER] 12: 37: 12.374 [main] ERROR TestGeneration - не удалось записать статистические данные

Когда я пытаюсь протестировать проект gwt:

krzysiek @ krzysiek-Latitude-D630: ~ / git $ sudo java -jar evosuite-0.1.1.jar -projectCP / home / krzysiek/ planner / AghPlannerProject -target /home/krzysiek/planner/AghPlannerProject/target ПАНОРАМА /WEB-INF/ классы

Я получил:

  • EvoSuite
  • Найдено 69 подходящих классов в target /home/krzysiek/planner/AghPlannerProject/target/AghPlannerProject-1.0-SNAPSHOT/WEB-INF/classes
  • Анализ пути к классам (создание дерева наследования)
    • / Главная / Krzysiek/ Планировщик / AghPlannerProject
    • /home/krzysiek/planner/AghPlannerProject/target/AghPlannerProject-1.0-SNAPSHOT/WEB-INF/classes
  • Текущий класс: pl.edu.agh.planner.server.PlannerServiceImpl
  • Собираемся генерировать тестовые случаи для класса: pl.edu.agh.planner.server.PlannerServiceImpl
  • Стартовый клиент
  • Подключение к главному процессу через порт 11775
  • Анализируя classpath:
  • Дерево наследования загружено из /tmp/ES_inheritancetree1562005591350926448.xml.gz
  • Не удалось найти тестируемый класс: pl.edu.agh.planner.server.PlannerServiceImpl: java.lang.ClassNotFoundException: pl/edu/agh/planner/client/ PlannerService
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:185) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.Class.forName)
    java.lang.Class.forName (Class.java:348)
    org.evosuite.Properties.getTargetClass (Properties.java:2086)
    org.evosuite.Properties.getTargetClass (Properties.java:2060)
    org.evosuite.setup.TestClusterGenerator.initializeTargetMethods (TestClusterGenerator.java:405) org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:171) org.evosalysis evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) java.util.concurrent.Executors$Runnall:ecutor.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 (поток): java.j7: java.lang.NoClassDefFoundError: pl/edu/agh/planner/client/ PlannerService
    java.lang.ClassLoader.defineClass1 (собственный метод)
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.Class.forName)
    java.lang.Class.forName (Class.java:348)
    org.evosuite.Properties.getTargetClass (Properties.java:2086)
    org.evosuite.Properties.getTargetClass (Properties.java:2060)
    org.evosuite.setup.TestClusterGenerator.initializeTargetMethods (TestClusterGenerator.java:405) org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:171) org.evosalysis evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) java.util.concurrent.Executors$Runnall:ecutor.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 (поток): java.j7: java.lang.ClassNotFoundException: com/google/gwt/ пользователь / клиент / rpc / RemoteService
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:185) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.ClassineClassLoader.de
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.Class.forName)
    java.lang.Class.forName (Class.java:348)
    org.evosuite.Properties.getTargetClass (Properties.java:2086)
    org.evosuite.Properties.getTargetClass (Properties.java:2060)
    org.evosuite.setup.TestClusterGenerator.initializeTargetMethods (TestClusterGenerator.java:405) org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:171) org.evosalysis evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) java.util.concurrent.Executors$Runnall:ecutor.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 (поток): java.j7: java.lang.NoClassDefFoundError: com/google/gwt/ пользователь / клиент / rpc / RemoteService
    java.lang.ClassLoader.defineClass1 (собственный метод)
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.ClassineClassLoader.
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.Class.forName)
    java.lang.Class.forName (Class.java:348)
    org.evosuite.Properties.getTargetClass (Properties.java:2086)
    org.evosuite.Properties.getTargetClass (Properties.java:2060)
    org.evosuite.setup.TestClusterGenerator.initializeTargetMethods (TestClusterGenerator.java:405) org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:171) org.evosalysis evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) java.util.concurrent.Executors$Runnall:ecutor.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 (поток): java.j7: java.lang.ClassNotFoundException: класс 'com/google/gwt/user/client/rpc/RemoteService.class' должен находиться в целевом проекте, но не может быть найден!
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:185) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.ClassineClassLoader.de
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.ClassineClassLoader.
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.Class.forName)
    java.lang.Class.forName (Class.java:348)
    org.evosuite.Properties.getTargetClass (Properties.java:2086)
    org.evosuite.Properties.getTargetClass (Properties.java:2060)
    org.evosuite.setup.TestClusterGenerator.initializeTargetMethods (TestClusterGenerator.java:405) org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:171) org.evosalysis evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) java.util.concurrent.Executors$Runnall:ecutor.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 (поток): java.j7: java.lang.ClassNotFoundException: класс 'com/google/gwt/user/client/rpc/RemoteService.class' должен находиться в целевом проекте, но не может быть найден!
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:171) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.ClassLineFlash1ClassLoader.de
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.ClassineClassLoader.
    java.lang.ClassLoader.defineClass (ClassLoader.java:760)
    java.lang.ClassLoader.defineClass (ClassLoader.java:642)
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass (InstrumentingClassLoader.java:178) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass (InstrumentingClassLoader.java:139) java.lang.Class.forName)
    java.lang.Class.forName (Class.java:348)
    org.evosuite.Properties.getTargetClass (Properties.java:2086)
    org.evosuite.Properties.getTargetClass (Properties.java:2060)
    org.evosuite.setup.TestClusterGenerator.initializeTargetMethods (TestClusterGenerator.java:405) org.evosuite.setup.TestClusterGenerator.generateCluster (TestClusterGenerator.java:171) org.evosalysis evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) java.util.concurrent.Executors$Runnall:ecutor.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.j7:45:j)
  • Ошибка при инициализации целевого класса: не удалось загрузить pl.edu.agh.planner.server.PlannerServiceImpl [MASTER] 12:01:32.928 [pool-1-thread-2] ERROR TestSuiteGenerator - проблема для pl.edu.agh.planner.server.PlannerServiceImpl. Полный стек: java.lang.RuntimeException: не удалось загрузить pl.edu.agh.planner.server.PlannerServiceImpl в org.evosuite.setup.TestClusterGenerator.initializeTargetMethods(TestClusterGenerator.java:411) ~[evosjar-0.1:na] at org.evosuite.setup.TestClusterGenerator.generateCluster(TestClusterGenerator.java:171) ~[evosuite-0.1.1.jar:na] at org.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) [ evosuite-0.1.1.jar: na] в org.evosuite.TestSuiteGenerator.generateTestSuite (TestSuiteGenerator.java:221) ~ [evosuite-0.1.1.jar:na] в org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) [evosuite-0.1.1.jar:na] в java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45] в java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45] в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45] в java.util.concurrent.ThreadPoolec $Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45] на java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
  • Вычисление завершено [MASTER] 12:01:33.127 [main] ОШИБКА SearchStatistics - Статистика не сохранена, поскольку EvoSuite не удалось сгенерировать какой-либо тестовый случай [MASTER] 12: 01: 33.230 [main] ERROR TestGeneration - не удалось записать статистические данные

Кажется, что он не может найти класс, но я не знаю почему, это в pl/edu/agh/planner/client/

1 ответ

Вам нужно указать путь к классу. Исходная папка (в вашем случае src/czytacz) содержит файлы.java. Для classpath вам нужно указать, где находятся скомпилированные файлы.class. Это зависит от того, как вы скомпилировали свой проект (например, цель / классы, если вы использовали Maven)

Другие вопросы по тегам