PHPUnit Различные возвращаемые значения каждый вызов издевающегося метода
Например, у меня есть насмешливый класс, как показано ниже:
$mock= $this->getMockBuilder("SomeClass")->disableOriginalConstructor()->getMock();
$mock->expects($this->any())
->method("someMethod")
->will($this->returnValue("RETURN VALUE"));
Единственным параметром someMethod
является массив $arr
.
То, что я хочу сделать, - это вернуть $arr[0]
, когда someMethod
вызывается в первый раз, $arr[1]
второй раз и т.д.
Размер $arr
является динамическим.
Любая идея, как достичь этого, если это возможно?
Ответы
Ответ 1
$mock->expects($this->any())
->method("someMethod")
->will($this->onConsecutiveCalls(1, 2, 3));
С onConsecutiveCalls вы можете установить возвращаемое значение для каждого вызова someMethod. Первый вызов возвращает 1. Второй вызов 2. Третий вызов 3.