1

I tried to generate tests using evosuite standalone jar from commandline.

My project directory have source in src/czytacz and there is antlr-4.3-complete.jar in project directory

This is what I have do: Copy evosuite jar to project directory.

Use command to setup evosuite for project:

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

Use command to create tests:

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

Output from evosuite:

  • EvoSuite
  • Found 0 matching classes in target src/czytacz
  • Analyzing classpath (generating inheritance tree)
    • antlr-4.2-complete.jar
    • src/czytacz

No Tests have been created for my project

-------------------------------edit---------------------------------

Thank you arcuri82 its solve my problem, but I have another.

For:

krzysiek@krzysiek-Latitude-D630:~/git$ sudo java -jar evosuite-0.1.1.jar -projectCP /home/krzysiek/workspace/czytacz -target /home/krzysiek/workspace/czytacz/bin/czytacz

I get:

  • EvoSuite
  • Found 6 matching classes in target /home/krzysiek/workspace/czytacz/bin/czytacz
  • Analyzing classpath (generating inheritance tree)
    • /home/krzysiek/workspace/czytacz
    • /home/krzysiek/workspace/czytacz/bin/czytacz
  • Current class: Run
  • Going to generate test cases for class: Run
  • Starting client
  • Connecting to master process on port 9969
  • Analyzing classpath:
  • Inheritance tree loaded from /tmp/ES_inheritancetree2228980810912137439.xml.gz
  • Error while initializing target class: Target class not found in inheritance tree [MASTER] 12:37:11.978 [pool-1-thread-2] ERROR TestSuiteGenerator - Problem for Run. Full stack: java.lang.ClassNotFoundException: Target class not found in inheritance tree at org.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:85) ~[evosuite-0.1.1.jar:na] at org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) ~[evosuite-0.1.1.jar:na] at 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] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
  • Computation finished [MASTER] 12:37:12.272 [main] ERROR SearchStatistics - No statistics has been saved because EvoSuite failed to generate any test case [MASTER] 12:37:12.374 [main] ERROR TestGeneration - failed to write statistics data

When I try to tests gwt project:

krzysiek@krzysiek-Latitude-D630:~/git$ sudo java -jar evosuite-0.1.1.jar -projectCP /home/krzysiek/planner/AghPlannerProject -target /home/krzysiek/planner/AghPlannerProject/target/AghPlannerProject-1.0-SNAPSHOT/WEB-INF/classes

I get:

  • EvoSuite
  • Found 69 matching classes in target /home/krzysiek/planner/AghPlannerProject/target/AghPlannerProject-1.0-SNAPSHOT/WEB-INF/classes
  • Analyzing classpath (generating inheritance tree)
    • /home/krzysiek/planner/AghPlannerProject
    • /home/krzysiek/planner/AghPlannerProject/target/AghPlannerProject-1.0-SNAPSHOT/WEB-INF/classes
  • Current class: pl.edu.agh.planner.server.PlannerServiceImpl
  • Going to generate test cases for class: pl.edu.agh.planner.server.PlannerServiceImpl
  • Starting client
  • Connecting to master process on port 11775
  • Analyzing classpath:
  • Inheritance tree loaded from /tmp/ES_inheritancetree1562005591350926448.xml.gz
  • Could not find class under test: 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.forName0(Native Method)
    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.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) 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) Caused by: java.lang.NoClassDefFoundError: pl/edu/agh/planner/client/PlannerService
    java.lang.ClassLoader.defineClass1(Native Method)
    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.forName0(Native Method)
    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.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) 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) Caused by: java.lang.ClassNotFoundException: com/google/gwt/user/client/rpc/RemoteService
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:185) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:139) java.lang.ClassLoader.defineClass1(Native Method)
    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.forName0(Native Method)
    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.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) 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) Caused by: java.lang.NoClassDefFoundError: com/google/gwt/user/client/rpc/RemoteService
    java.lang.ClassLoader.defineClass1(Native Method)
    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.ClassLoader.defineClass1(Native Method)
    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.forName0(Native Method)
    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.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) 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) Caused by: java.lang.ClassNotFoundException: Class 'com/google/gwt/user/client/rpc/RemoteService.class' should be in target project, but could not be found!
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:185) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:139) java.lang.ClassLoader.defineClass1(Native Method)
    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.ClassLoader.defineClass1(Native Method)
    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.forName0(Native Method)
    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.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) 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) Caused by: java.lang.ClassNotFoundException: Class 'com/google/gwt/user/client/rpc/RemoteService.class' should be in target project, but could not be found!
    org.evosuite.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:171) org.evosuite.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:139) java.lang.ClassLoader.defineClass1(Native Method)
    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.ClassLoader.defineClass1(Native Method)
    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.forName0(Native Method)
    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.evosuite.setup.DependencyAnalysis.analyze(DependencyAnalysis.java:117) org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) org.evosuite.rmi.service.ClientNodeImpl$1.run(ClientNodeImpl.java:125) 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)
  • Error while initializing target class: Failed to load pl.edu.agh.planner.server.PlannerServiceImpl [MASTER] 12:01:32.928 [pool-1-thread-2] ERROR TestSuiteGenerator - Problem for pl.edu.agh.planner.server.PlannerServiceImpl. Full stack: java.lang.RuntimeException: Failed to load pl.edu.agh.planner.server.PlannerServiceImpl at org.evosuite.setup.TestClusterGenerator.initializeTargetMethods(TestClusterGenerator.java:411) ~[evosuite-0.1.1.jar: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] at org.evosuite.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:221) ~[evosuite-0.1.1.jar:na] at 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] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
  • Computation finished [MASTER] 12:01:33.127 [main] ERROR SearchStatistics - No statistics has been saved because EvoSuite failed to generate any test case [MASTER] 12:01:33.230 [main] ERROR TestGeneration - failed to write statistics data

Its seems that its can't find class but i don't know why, it is in pl/edu/agh/planner/client/

Kristof
  • 41
  • 4

1 Answers1

3

You need to specify the classpath. The source folder (src/czytacz in your case) contains .java files. For the classpath you need to specify where the compiled .class files are. This depends on how you compiled your project (eg target/classes if you used Maven)

arcuri82
  • 885
  • 1
  • 8
  • 17