gpt4 book ai didi

mocking - PHPUnit 如何获取模拟方法的真实返回值?

转载 作者:行者123 更新时间:2023-12-01 12:39:02 25 4
gpt4 key购买 nike

如何获得模拟类/方法的真实返回值?我发现了很多返回固定值的可能性,但我想要我调用的模拟方法的结果

    namespace Updater\Model;    class TestClass    {        public function testFunction(){            return 12345;        }    }
    class DatabaseTest extends PHPUnit_Framework_TestCase    {         public function testMock(){              $mock = $this->getMock('Updater\Model\TestClass', array('testFunction'));              $mock->expects($this->once())->method('testFunction')              // Call the Funciton.... here i would like to get the value 12345               $result = $mock->testFunction();         }    }

我没有找到任何如何获得真正的返回值的方法....令人沮丧:)

最佳答案

据我所知,您不能使用 PHPUnit native 模拟来做到这一点。有一个名为 Mockery 的模拟库可以做到这一点:

http://docs.mockery.io/en/latest/reference/expectations.html

寻找 passthru() 方法。

也就是说,您需要从模拟中调用真实方法的情况并不常见。你能解释一个真实的案例吗?您模拟方法以便控制它们的行为(返回值、抛出异常等)。

关于mocking - PHPUnit 如何获取模拟方法的真实返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26777449/

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