我使用EvoSuite创建了一个单元测试,并希望使用maven build对此单元测试进行代码覆盖率分析。当我运行maven build时,我得到...
通过自定义类加载器org.evosuite.runtime.instrumentation.EvoClassLoader;重新加载了JMockit覆盖率
和
EvoSuite未检测到类org.xyz.MyClass$1。如果您正在以EvoSuite不能处理的方式运行JUnit测试,则可能会发生这种情况,其中一些类在测试运行之前通过反射加载。有关此问题的可能解决方法,请参阅EvoSuite文档。
所以看起来破解的代码是...如果EvoSuite未检测到(!InstrumentedClass.class.isAssignableFrom(clazz)) { String msg = "Class“+ clazz.getName() +”。“+”如果您运行JUnit测试的方式不是由EvoSuite处理的,则可能会发生这种情况,在“+”中,一些类在测试运行之前被加载为反射。有关此问题的可能解决方法,请参阅EvoSuite文档“+”。“;logger.error(msg);IllegalStateException= true;//抛出新的消息(Msg);//抛出异常可能有点极端}
可以通过JMockit运行EvoSuite单元测试吗?有什么建议吗?
发布于 2016-04-15 00:38:55
在阅读这个问题之前,我从来没有听说过JMockit,所以它在EvoSuite中是不存在的……:(
无论如何,我现在在下面的位置添加了一些关于它的文档:
http://www.evosuite.org/documentation/measuring-code-coverage/
你可以在那里读到为什么你得到了0%的覆盖率,以及可能的解决方法。
https://stackoverflow.com/questions/36346765
复制相似问题