gpt4 book ai didi

php - 我如何告诉 mock 在某些情况下调用原始方法?

转载 作者:行者123 更新时间:2023-12-04 16:50:07 28 4
gpt4 key购买 nike

我有一个类想在稍后的测试中模拟:

class Original {
function calculate($a) { ... }
}

在测试中:

$mock = $this->getMock('Original',['calculate']);
$mock->expcets($this->any())
->will($this->returnValueMap([
[1,'ABC'],
[2,'BCD']
// somehow tell $mock to call the original calculate() here
);

我想告诉 $mock 在特定条件下回退到原始的 calculate(),例如,如果参数不匹配任何提供的检查。据我阅读 PhpUnit 代码了解到,如果未找到匹配项,调用程序将返回 null :-?

最佳答案

$mock = $this->getMockBuilder(Original::class)
->setMethodsExcept(['calculate'])->disableOriginalConstructor()
->getMock();

无论如何,这将调用原始的计算函数。

关于php - 我如何告诉 mock 在某些情况下调用原始方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18944262/

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