2017-01-10 7 views
0

Я пытаюсь понять, возможно ли phpunit создать шпион по методу при вызове исходного метода.Шпионить за параметрами метода в phpunit при вызове исходного метода

Я сделал это в java, но я не вижу способа сделать это в phpunit. Я только нахожу, что если я шпионить за вызовами метода, мне также нужно издеваться над ним.

Пример кода:

  $this->spy = $this->getMockBuilder('\ClassUnderTest') 
       ->setMethods(['methodToSpy']) 
       ->getMock();    

      $this->spy->expects($this->any()) 
        ->method('methodToSpy') 
        ->will($this->returnCallback(array($this, 'stubMethodToSpy'))); 

Так в тесте, я хочу «шпион» на вызов к реальному методу 'methodToSpy(), так что я могу сделать на лету анализ на переданные ему параметры (мне нужно использовать их в тесте позже).

Любая идея, если это возможно? (или, возможно, это невозможно в phpunit, потому что он не многопоточен, как java)

ответ

1

Вы ищете test proxies.

+0

звучит хорошо .. я проверю его. спасибо – mimusheli

+0

Я пытаюсь использовать «enableProxyingToOriginalMethods», как вы предложили. Можно ли «прослушивать» один метод, но издеваться над другим? Всякий раз, когда я использую его вместе с SetMethods, я получаю ошибки .. – mimusheli

+0

Реальные stubbing/mocking и проксирование не могут быть смешаны. –

 Смежные вопросы

  • Нет связанных вопросов^_^