У меня есть простой вариант использования. Я хочу иметь метод setUp, который заставит мой фиктивный объект возвращать значение по умолчанию:
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
Но затем в некоторых тестах я хочу вернуть другое значение:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
Я использовал GoogleMock для C++ в прошлом, и у него было «returnByDefault» или что-то в этом роде. Я не мог понять, возможно ли это в PHPUnit (, там нет документации по API, и код трудно прочитать, чтобы найти то, что я хочу ).
Теперь я не могу просто изменить $this->myservice
на новый макет, потому что при настройке я передаю его другим вещам, которые нужно смоделировать или протестировать.
Мое единственное другое решение состоит в том, что я теряю преимущества настройки и вместо этого должен создавать все свои макеты для каждого теста.