Я пишу несколько тестовых случаев, и у меня есть тестовый пример, использующий объекты Mock. Мне нужно проверить, не вызваны ли два метода класса из другого метода класса. Вот что я сделал:
Сначала я сгенерировал макет:
Mock::generate('Parser');
Затем внутри моего теста я позвонил:
$P = new MockParser();
$P->expectOnce('loadUrl', array('http://url'));
$P->expectOnce('parse');
$P->fetchAndParse('http://url');
Мой код реализации выглядит так:
public function fetchAndParse($url) {
$this->loadUrl($url);
$this->parse();
}
И методы loadUrl и parse () определенно существуют. Я получаю два сбоя в моих тестах, и оба говорят мне: «Ожидаемое количество вызовов для [loadUrl] было [1], получено [0]». Я понятия не имею, что происходит - методы вызываются из этой функции!
Спасибо
Джейми