【发布时间】:2015-01-16 15:50:20
【问题描述】:
我的用例更复杂,但为了简单起见:
class MockObject {
public function test($param1, callable $callback = null) {
return is_null($callback) ? $param1 : $callback($param1);
}
}
我想使用 returnMap 为我的其他测试模拟这个类。
$map = [
['a', null, 'a'],
['b', $WHAT_SHOULD_BE_HERE?, 'b']
];
$mock = $this->getMock('MockObject');
$mock->expects($this->atLeastOnce())->method('test')->willReturnMap($map);
$this->assertEquals('a', $mock->test('a')); // Works
$this->assertEquals('b', $mock->test('b', function($value){return $value})); // Doesn't work
【问题讨论】: