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