2016-10-07 2 views
1

Я пытаюсь высмеять компонент CakePHP 3, который проверяет, разрешено ли пользователю просматривать страницу или нет.Ошибка при попытке подделать компонент CakePHP 3

Я попытался это:

$authComponent = $this->getMockBuilder(App\Controller\Component\AuthorizationComponent::class) 
    ->getMock(); 

$authComponent 
    ->method('isAuthorized') 
    ->willReturn($this->returnValue(true)); 

Однако при выполнении теста, он говорит:

Trying to configure method "isAuthorized" which cannot be configured because it does not exist, has not been specified, is final, or is static 

Скорее всего, я неправильно создал макет. Может ли кто-нибудь сказать мне, как это сделать правильно?

+1

Что делает ваш компонент выглядеть? – jeremyharris

ответ

0

Specify издевались методы с setMethods() перед тем getMock():

$authComponent = $this 
    ->getMockBuilder(App\Controller\Component\AuthorizationComponent::class) 
    ->setMethods(['isAuthorized']) 
    ->getMock(); 
Смежные вопросы