У меня такая же проблема с тестированием
public function testReturnUser(){
$faker = Factory::create();
$user = new User($faker->userName, $faker->email);
$mockFinder = \Mockery::mock(ClassFinder::class);
$mockFinder->shouldReceive('find')
->with(User::class, 1)
->andReturn($user);
$helper = new Helper($mockFinder);
$this->assertEquals([$user], $helper->getMethod(User::class));
}
и в классе Хелпер
class Helper {
private $finder;
public function __constructor(ClassFinder $finder){
$this->finder = $finder;
}
public function getMethod(string $className, array $data =[]){
return $this->finder->find($className, $data['id']);
}
}
Так что проблема в том, что когда я вызываю getMethod
без второго необязательного параметра и запускаю тест, я получаю, что $data['id']
неверный индекс,
хотя я передаю параметры в Mock объект. Так что, если кто-то знает, почему это случилось?