假设我有这个:
$mock = $this->createMock(\MyClass::class);
$mock->method('foo')
->willReturn('data');
$mock->method('bar')
->willReturn('data');
是否有简写说这两种方法(或更多)会返回相同的东西?
答案 0 :(得分:2)
您可以使用 TestCase 类的createConfiguredMock($originalClassName, array $configuration)方法:
$this->createConfiguredMock(\MyClass::class, [
'foo' => 'data',
'bar' => 'data'
]);
您仍需要为每个方法指定返回值,但这是我所知道的PHPUnit提供的最佳简写。
但您可以生成配置数组,如下所示:
$this->createConfiguredMock(\MyClass::class, array_fill_keys([
'foo',
'bar'
], 'data'));