Вы можете утверждать, сколько раз Mock вызывался с PHPUnit при выполнении
$mock = $this->getMock('SomeClass');
$mock->expects($this->exactly(5))
->method('someMethod')
->with(
$this->equalTo('foo'), // arg1
$this->equalTo('bar'), // arg2
$this->equalTo('baz') // arg3
);
Когда вы затем вызываете что-то в TestSubject, которое вызывает Mock, PHPUnit не пройдет тест, когда SomeClass someMethod не был вызванпять раз с аргументами фу, бар, баз.Помимо exactly
.
существует ряд дополнительных сопоставителей. Кроме того, PHPUnit as имеет встроенную поддержку использования Prophecy для создания двойников теста, начиная с версии 4.5.,Пожалуйста, обратитесь к документации для Prophecy для получения дополнительной информации о том, как создавать, настраивать и использовать заглушки, шпионы и издевательства с использованием этого альтернативного тестового двойного фреймворка.