gpt4 book ai didi

php - 在 PHPUnit 中使用模拟和反射进行单元测试

转载 作者:行者123 更新时间:2023-12-04 18:08:19 26 4
gpt4 key购买 nike

我需要测试类的 protected 方法 testMethod,它使用了另一种方法 mockMethod。所以我在写:

$class = $this->getMockBuilder('TestingClassName')
->setMethods(['mockMethod'])
->getMock();

$class->expects($this->any())
->method('mockMethod')
->will($this->returnValue('Hey!'));

$reflection = new \ReflectionObject($class);
$method = $reflection->getMethod('testMethod');
$method->setAccessible(true);

$result = $method->invokeArgs($class, $paramsArray);

但是当方法 mockMethodtestMethod 内部调用时,它就好像没有被模拟。它也是 protected 方法,如果我用另一个 ReflectionMethod 调用它 - 我会给出“嘿!”从它。

最佳答案

是的,内部方法是private,不是protected

关于php - 在 PHPUnit 中使用模拟和反射进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com