Я пытаюсь разработать новую функцию пригодности для evosuite.
Чтобы рассчитать пригодность испытуемого, необходимо запустить его один раз в обычной среде, то есть в исходной среде. заданную скомпилированную версию SUT (я полагаю, что реализация этой версии встраивается в путь к классу, указанный в командной строке), а затем, чтобы запустить его под другой версией SUT.
После анализа кода, я думаю, мне нужно использовать метод evosuite.testcase.statements.Statement#void_changeClassLoader(ClassLoader)
для каждого из операторов теста, которым я заинтересован в манипулировании, с загрузчиком классов, который будет отображать имена классов SUT в разные файлы классов.
У меня есть два вопроса:
- Я стремлюсь к правильной стратегии?
- Учитывая, что я делаю, каким образом я могу создать экземпляр ClassLoader, который будет переопределятьотображение классов SUT, и это будет совместимо для исключения автоматически генерируемого тестового случая evosuite?
Спасибо!