在调用原始方法时监视 phpunit 中的方法参数
Spying on a method parameters in phpunit, while calling the original method
我想了解是否可以使用 phpunit 在调用原始方法的同时创建对方法的监视。
我已经在 java 中完成了,但我没有看到在 phpunit 中完成它的方法。我只发现如果我监视方法的调用,我也需要模拟它。
示例代码:
$this->spy = $this->getMockBuilder('\ClassUnderTest')
->setMethods(['methodToSpy'])
->getMock();
$this->spy->expects($this->any())
->method('methodToSpy')
->will($this->returnCallback(array($this, 'stubMethodToSpy')));
所以在测试中,我想"spy"调用真正的方法'methodToSpy()',这样我就可以对传递给它的参数进行即时分析(我需要稍后在测试中使用它们)。
知道这是否可能吗? (或者可能在 phpunit 中是不可能的,因为它不像 java 那样是多线程的)
您正在寻找 test proxies.
我想了解是否可以使用 phpunit 在调用原始方法的同时创建对方法的监视。
我已经在 java 中完成了,但我没有看到在 phpunit 中完成它的方法。我只发现如果我监视方法的调用,我也需要模拟它。
示例代码:
$this->spy = $this->getMockBuilder('\ClassUnderTest')
->setMethods(['methodToSpy'])
->getMock();
$this->spy->expects($this->any())
->method('methodToSpy')
->will($this->returnCallback(array($this, 'stubMethodToSpy')));
所以在测试中,我想"spy"调用真正的方法'methodToSpy()',这样我就可以对传递给它的参数进行即时分析(我需要稍后在测试中使用它们)。
知道这是否可能吗? (或者可能在 phpunit 中是不可能的,因为它不像 java 那样是多线程的)
您正在寻找 test proxies.