Mat*_*att 9 php phpunit mocking
我有一个简单的用例.我想有一个setUp方法,它将导致我的模拟对象返回一个默认值:
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
Run Code Online (Sandbox Code Playgroud)
但是在某些测试中,我想返回一个不同的值:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
Run Code Online (Sandbox Code Playgroud)
我过去曾使用过GoogleMock for C++,它有"returnByDefault"或其他东西来处理它.我无法弄清楚这是否可能在PHPUnit中(没有api文档,代码很难通读以找到我想要的东西).
现在我不能只改为$this->myservice新的模拟,因为在设置中,我将其传递给需要模拟或测试的其他东西.
我唯一的另一个解决方案是我失去了设置的好处,而是必须为每次测试建立我的所有模拟.