phpunit макет нескольких методов за один вызов - PullRequest
1 голос
/ 21 октября 2019

Имеется два ложных метода setAsy1 и setAsy2, которые возвращают одинаковые значения. В настоящее время мне нужно дважды вызывать одну и ту же функцию метода для настройки фиктивных методов. Можно ли как-то настроить с помощью одного звонка?

$transferItemMockf->expects($this->any())
    ->method('setAsy1')
    ->willReturn($id);

$transferItemMockf->expects($this->any())
    ->method('setAsy2')
    ->willReturn($id);

1 Ответ

1 голос
/ 21 октября 2019

PHPUnit\Framework\MockObject\Builder\InvocationMocker::method() может получить PHPUnit\Framework\Constraint\Constraint в качестве параметра. Таким образом, вы можете настроить макет из вашего примера с помощью одного вызова:

$transferItemMockf->expects($this->any())
   ->method($this->logicalOr(
        $this->equalTo('setAsy1'),
        $this->equalTo('setAsy2')
    ))
   ->willReturn($id);
...