gpt4 book ai didi

php - 更新 mockery 的 andReturn

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:44:01 24 4
gpt4 key购买 nike

我能以某种方式更新特定 shouldReceive 的 shouldReturn 值吗?

例如,我有几个使用一个返回值的测试,只有一个使用其他返回值。

所以我把它放在了 setUp 中:

$this->someDependency->shouldReceive('someMethod')->andReturn(0);

如果我把它放在那个特定的测试用例中:

$this->someDependency->shouldReceive('someMethod')->andReturn(1);

它将被忽略并返回 0。

我“修复”了所有测试的移动模拟并从 setUp 中移除。但我不喜欢那种代码重复。

最佳答案

这主要是风格问题。您可以在测试调用的辅助函数中轻松创建一组“默认”模拟,然后创建一个更明确的替代版本以不同方式设置它们。

还可以在该帮助程序中,为给定值从特定模拟返回一个函数参数。

有些人认为除了一些非常常见的设置之外,每个测试都应该彼此完全独立,并且应该在其内部完成所有事情。这确实使正在发生的事情变得明确(非常清楚,并且很明显正在发生的事情) - 但可能会增加代码重复的成本。但是,如果您不想重复太多,那是您的选择。

关于php - 更新 mockery 的 andReturn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33823462/

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