我有一个简单的使用场景。我想要一个setUp方法,让我的mock对象返回一个默认值:
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
但在某些测试中,我希望返回一个不同的值:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
我过去使用过C++的GoogleMock,它有"returnByDefault"或类似的东西来处理这个问题。我无法确定PHPUnit是否支持此功能(没有API文档,且代码难以阅读以找到我需要的内容)。
现在我不能只是将$this->myservice
更改为新的mock,因为在设置中,我将其传递给其他需要模拟或测试的对象。
我的另一个解决方案是放弃设置的好处,而是必须为每个测试构建所有的mocks。
setUp()
方法无论如何都会被调用。 - Massimiliano Arione$this->myservice
并更改返回值。 - rndstr