Новичок в тестировании.
Есть приложение. Использует сингелто (методы A::getMainApp(), чтобы вернуть объект приложения).
В тестируемом классе есть метод:
protected function endApp()
{
$logger = new MainLogger();
$logger->log();
$this->response->send();
exit(0);
}
который "цепляет" два класса(MainLogger, ResponseManager ($this->response)), которые в свою очередь могут цеплять в еще другие классы.
В данном тесте мне не нужно "эмулировать и создавать" все нужные классы?
Мне в принципе нужно протестить, что был вызван метод log(), response->send() и exit(0) а их конкретные результаты я проверю, когда буду тестировать отдельно каждый класс и когда буду тестировать приложение на "уровне браузера". Верно?
Как проверить что в методе были вызваны именно нужные функции в нужном порядке?
Я так понял, что не могу использовать мок объекты, так как у меня синелтон?