使用EvoSuite创建了一个单元测试,并希望使用maven构建对此单元测试进行代码覆盖率分析。当我运行maven构建时,我会。。。
JMockit Coverage通过自定义类加载器org.evsuite.runtime.instrumentation.EvoClassLoader重新加载;
和
类org.xyz.MyClass$1未被EvoSuite检测。如果您以EvoSuite不处理的方式运行JUnit测试,则可能会发生这种情况,在EvoSuite中,一些类在测试运行之前被加载为反射。有关此问题的可能解决方法,请参阅EvoSuite文档。
看来正在崩溃的代码是。。。if(!InstrumentedClass.class.isAssignableFrom(clazz)){EvoSuite未检测字符串msg="Class"+clazz.getName()+"。"+"如果您以EvoSuite无法处理的方式运行JUnit测试,则可能会发生这种情况。"+"在运行测试之前,哪些类被加载为反射。请参阅EvoSuite文档"+"了解此问题的可能解决方案。";logger.error(消息);problem=true;//抛出新的非法状态异常(msg);//抛出异常可能有点过于极端}
是否可以通过JMockit运行EvoSuite单元测试?有什么建议吗?
在阅读这个问题之前,我从未听说过JMockit,所以它不是EvoSuite中关注的东西…:(
无论如何,我现在只是在上添加了一些关于它的文档
http://www.evosuite.org/documentation/measuring-code-coverage/
你可以在那里阅读为什么你得到0%的覆盖率,以及可能的解决方案。