【发布时间】:2016-04-01 01:54:37
【问题描述】:
已使用 EvoSuite 创建了一个单元测试,并希望使用 maven build 对此单元测试进行代码覆盖率分析。当我运行 maven build 我得到...
JMockit Coverage 通过自定义类加载器 org.evosuite.runtime.instrumentation.EvoClassLoader 重新加载;
和
类 org.xyz.MyClass$1 未由 EvoSuite 检测。如果您以 EvoSuite 无法处理的方式运行 JUnit 测试,则可能会发生这种情况,其中某些类在测试运行之前加载为反射。有关此问题的可能解决方法,请参阅 EvoSuite 文档。
所以看起来正在破坏的代码是...... 如果(!InstrumentedClass.class.isAssignableFrom(clazz)){ String msg = "Class " + clazz.getName() + " EvoSuite 未检测到。" + "如果您以 EvoSuite 无法处理的方式运行 JUnit 测试,则可能会发生这种情况,在 " + “在运行测试之前加载了哪些类是反射。请参阅 EvoSuite 文档” + “有关此问题的可能解决方法。”; logger.error(msg); 问题=真; //抛出新的IllegalStateException(msg); // 抛出异常可能有点太极端了 }
是否可以通过 JMockit 运行 EvoSuite 单元测试?有什么建议吗?
【问题讨论】:
标签: maven unit-testing classloader jmockit evosuite