将修改的JDK类与EvoSuite

时间:2018-08-05 15:29:17

标签: java evosuite

我正在使用EvoSuite为某些.class文件生成测试,我一直在使用一些指令来丰富/扩展这些指令(对于性能分析来说,并不重要)。当我将这些类提供给EvoSuite(带有-projectCP)时,它在大多数情况下都可以正常工作,即按预期生成了测试。

但是,如果我正在检测JDK类(没什么疯狂的,比如说LinkedList),则EvoSuite不会使用我检测的.class文件,而是使用JDK中未修改的文件。我认为,在EvoSuite中的某个位置,JDK文件优先于-projectCP所提供的文件,这在大多数情况下是很有意义的。

是否有一种方法可以覆盖此行为?即使EvoSuite从JDK加载我检测的.class文件。例如,如果我的某些代码创建了一个新的LinkedList,并且提供给EvoSuite的类路径上有LinkedList的修改版本,则它应该加载修改后的版本,而不是JDK的原始版本。

要在没有EvoSuite的情况下使用经过修改的JDK类,我使用了一个代理,该代理拦截要用我自己的版本替换的类的类加载。我还没有在EvoSuite中找到要点,不过到目前为止我还可以在其中添加此功能。

感谢您的帮助

0 个答案:

没有答案