Вариант использования : я пытаюсь создать диагностический тест для моей среды модульного тестирования, которая запускает каждый тестовый пример, а затем возвращает список открытых методов, которые еще не были охвачены тестовым примером.Идея состоит в том, чтобы увеличить охват тестами, убедившись, что все общедоступные методы каждого из них протестированы, по крайней мере, на 1 модульном тесте.
Проблема : у меня возникают проблемы с обнаружением метода изкласс был назван.Я попытался использовать функцию debug_backtrace (), но она возвращает только вызовы из тестовой среды, а не метод класса, который тестируется.Единственный способ получить имя запускаемого метода - это поместить функцию debug_backtrace () в метод тестируемого класса, что является недопустимым параметром, так как он должен быть в каждом открытом методе каждого класса.
Есть ли альтернативный способ сделать обратную трассировку, чтобы получить проверенный метод класса?Или, в несколько ином подходе, есть ли способ запустить и остановить слушателя, который будет записывать все вызываемые методы (я могу разобрать все, что не принадлежит)?
Псевдо-код :
runTest($testName){
//run the test
//get all recent classes and methods used
//parse out test framework info
//compare used public methods to public method list for the tested class
}
или:
runTest($testName){
//start listener
//run the test
//close listener, get all recent classes and methods used
//parse out test framework info
//compare used public methods to public method list for the tested class
}