Пересмешные параметры передаются в функцию - PullRequest
0 голосов
/ 10 ноября 2018

У меня такая же проблема с тестированием

 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 объект. Так что, если кто-то знает, почему это случилось?

...