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