PHP - Альтернативы runkit для перехвата вызовов методов

У меня есть очень недружелюбный к тестированию код ( мягко говоря), что мне нужно протестировать. Рефакторинг, к сожалению, не вариант. Мне нужно протестировать код как есть, без возможности его изменения.

Для этого я думал о функции перехвата вызовов и динамически изменять то, что они делают, чтобы я мог запускать свои тесты, так как мне нужны некоторые функции и методы для возврата известных значений, а мне нужны другие, которые делают запросы, подключаются к базе данных и т. д., чтобы прекратить это делать и вернуть то, что мне нужно их вернуть. Есть ли способ сделать это без runkit_method_redefine () , который предпочтительно не является «ЭКСПЕРИМЕНТАЛЬНЫМ» и все еще поддерживается? Может альтернатива рункиту? Может быть, лучший способ?

Изменить: будут использовать тестовые двойники PHPUnit и функции PHP 5.3.2 для обеспечения доступа к частным методам, если мне нужна эта функциональность.

5
задан PeeHaa 3 November 2013 в 16:55
поделиться