Вы можете утверждать, сколько раз Мок был вызван с помощью 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 не называло пять раз с аргументами foo, bar, baz. Существует номер additional matchers besides exactly
.
Кроме того, PHPUnit as has built-in support for using Prophecy для создания тестовых парных номеров с версии 4.5. Пожалуйста, обратитесь к documentation for Prophecy за дополнительной информацией о том, как создавать, настраивать и использовать заглушки, шпионы и издевки, используя эту альтернативную тестовую двойную структуру.
Что означает * «Вы можете называть объект в подражание« * »? * «сколько раз он назывался» * ... вы имеете в виду * «был вызван» *? – netcoder