【发布时间】:2021-10-31 17:40:16
【问题描述】:
为模拟对象设置类型的正确方法是什么?
示例代码:
/**
* @dataProvider getTestDataProvider
* @throws Exception
*/
public function testExampleData(
Request $request,
Response $expected,
SomeClass $someClassMock
): void {
$result = $someClassMock->getData($request);
$this->assertEquals($expected, $result);
}
在本例中,$someClassMock 的类型是类 SomeClass。还有一种名为MockObject 的类型也可以正常工作,但它会破坏该类中函数的自动完成。
我应该在这些模拟对象上使用哪些类型?实物类还是MockObject?
【问题讨论】: