Я пытаюсь протестировать метод с PhpUnit и Mockery. В процессе указания метода следует вызывать с аргументами, которые мой тест терпит неудачу.Отказываемый класс, не принимающий экземпляр Carbon
ТЕСТ:
$this->eventRepo = \Mockery::mock('Path\To\EventRepository');
$start = Carbon::createFromFormat('Ymd-H-i-s', '20141211-09-21-00');
$end = Carbon::createFromFormat('Ymd-H-i-s', '20141211-09-19-00');
$this->eventRepo
->shouldReceive('findEvent')
->withArgs([
$start,
$end,
'1',
'1234567891'
])
->andReturn($callEvent);
РЕАЛЬНОГО КОД:
$start = Carbon::createFromFormat('Ymd-H-i-s', '20141211-09-20-00');
$end = Carbon::createFromFormat('Ymd-H-i-s', '20141211-09-20-00');
$event = $this->eventRepo->findEvent(
$start->subSeconds(60),
$end->addSeconds(60),
$id,
$number
);
ОШИБКА ИЗ ТЕСТА:
Mockery\Exception\NoMatchingExpectationException: No matching handler found for EventRepo::findEvent(object(Carbon\Carbon), object(Carbon\Carbon), "1", "1234567891"). Either the method was unexpected or its arguments matched no expected argument list for this method
$this->eventRepo
является издевались в тесте. Настоящий код работает правильно. После появления ошибки, я думаю, var_dump() является экземпляром Carbon.
Я понятия не имею, что может быть причиной этого. Я попробовал поиграть в нее, но не знал, что делать Google, сделав это совершенно бесполезным. Кто-нибудь сталкивался с этим раньше?