Я пишу тест, и мне было интересно, как я могу издеваться над следующим объединенным вызовом функции:
$validator->errors()->all()
Мне не нужна коллекция ошибок, так как я хочу, чтобы она была пустой, чтобы $this->logerror
не вызывалась.
Можно ли издеваться над $validator->errors()->all()
за один вызов?
Что-то вроде
Validator::shouldReceive('errors()->all()')
->once()
->andReturn(array());
Code:
// CLASS
$validator = Validator::make(
['participant' => $participant'],
$programValidator->getRules()
);
if($validator->fails()) {
foreach($validator->errors()->all() as $error) {
$this->logError($record, $error);
}
// TEST
Validator::shouldReceive('make')
->once()
->andReturn(Mockery::mock(array('fails' => true)));
errors()
должен возвращать также издевательский объект, который в вызове методаall()
возвращает пустой массив. Для полного ответа нужно указать какой фреймворк и версию вы используете, как минимум какой тип объекта возвращается при вызове метода call. Надеюсь, это поможет. - person Matteo   schedule 14.07.2015