Где Infection Framework сохраняет мутантные версии кода?В оперативной памяти?И как это вообще работает? - PullRequest
0 голосов
/ 28 февраля 2019

Мне нужны ответы на следующие вопросы?Где Infection Framework сохраняет мутантные версии кода?В оперативной памяти?И как это вообще работает?

1 Ответ

0 голосов
/ 16 июля 2019

Сохраняет «видоизмененные» файлы где-то во временном каталоге, затем устанавливает потоковую оболочку для перехвата файловых операций, , передавая измененный файл вместо исходного .Когда тест пытается автоматически загрузить класс, который он собирается тестировать, он получает файл с немного другим содержимым, поэтому мы можем видеть, увидит ли тест изменение, которое мы сделали (мутация уничтожена), или нет (мутацияизбегает).

Вот модульный тест для используемой потоковой оболочки .Оболочка потока должна быть довольно многословной, потому что в PHP нет стандартной обертки потока, где вы можете переопределить только пару действительно необходимых вам функций, только интерфейс для реализации .

...