У меня есть класс, в котором я издеваюсь над методом get
при вызове с test1
для возврата 123
. Это нормально работает.
Однако я хочу, чтобы все остальные вызовы метода get
возвращали то, что обычно возвращается, т.е. только вызов с определенным параметром возвращает фиктивный ответ.
$configMock = m::mock(Config::class);
$configMock->shouldReceive('get')
->with('test1')
->andReturn(123);
Поэтому, если я вызываю get с другим параметром в коде, то есть $config->get('test2')
, я получаю сообщение об ошибке
Mockery \ Exception \ NoMatchingExpectationException: не найдено подходящего обработчика для Mockery
get
Illuminate_Contracts_Config_Repository :: get ("test2"). Либо метод был неожиданным, либо его аргументы не соответствовали ожидаемому списку аргументов для этого метода
Однако, когда я использую ->makePartial()
в первой строке, в строке $config->get('test2')
я получаю сообщение об ошибке
BadMethodCallException: метод Mockery
get
Illuminate_Contracts_Config_Repository :: get () не существует для этого фиктивного объекта
Как я могу издеваться над ответом метода только для определенного передаваемого параметра, позволяя этому методу возвращать нормальные ответы для всех других вызовов этого метода?