PHPUnit's getMock()
принимает второй аргумент, массив с именами методов, которые нужно смоделировать.
Если вы включите имя метода в этот массив, фиктивный объект будет содержать метод с таким именем, с которым expects()
и друзья будут работать.
Это относится даже к методам, которые не определены в "реальном" классе, поэтому что-то вроде следующего должно помочь:
$mockPageRepository = $this->getMock('PageRepository', array('findOneBySlug'));
Имейте в виду, что вам придется явно включать любые другие методы, которые также должны быть смоделированы, поскольку только методы, названные в массиве, определены для объекта-макета.