EvoSuite / evosuite

EvoSuite - automated generation of JUnit test suites for Java classes
http://www.evosuite.org
GNU Lesser General Public License v3.0
829 stars 340 forks source link

Does EvoSuite have options to print intermediate test suite during evolution? #418

Closed jiseongg closed 1 year ago

jiseongg commented 2 years ago

Hi, I'm trying to use EvoSuite on some open source projects for the experiment. I want to investigate the expressiveness of the EvoSuite's search spaces, by exhaustively searching method sequences that can be generated by EvoSuite on CUT. But since I can only check the final result, I'm not sure whether I have to extend the spaces or not. For example, I may search for builder method in the whole project, for the class only having private constructor. I have some cases about which I'm not sure I can directly apply EvoSuite without extension.

So, is there any option to see intermediate results? Or if not, could you point the source code location where I can insert some logging statement? I appreciate any help and advice you might have. Thanks.

jose commented 1 year ago

What kind of logging are looking for? Fitness values during evolution? Individuals during evolution?

jiseongg commented 1 year ago

Hi @jose , I was looking for the latter, each individual test case during evolution.

However, I somehow figured out the solution, so it would be ok to close this issue.

Instead of logging, I have been running EvoSuite with -generateRandom option, which seems to generate random test case until it reaches time-out, rather than optimize test suite. At the time of writing this question, I wasn't aware of such generation strategy.

jose commented 1 year ago

Well, you could try to print out each individual in the population at the of the evolve method. In any case, I'm glad the -generateRandom option worked for you.