从PHPUnit Test返回参数作为数组的一部分

时间:2017-05-25 08:23:12

标签: php phpunit

我想从这个模拟方法返回一个数组,我希望它包含一个最初传递给该方法的参数。

下面的代码运行但不是具有原始参数值的数据,而是类型

的对象
  

PHPUnit_Framework_MockObject_Stub_ReturnArgument

$stub->method('insert')->willReturn(array('success'=>true,'data'=>$this->returnArgument(0)));

我能够获得原始参数的唯一方法是仅返回参数但是我没有我需要的数组

$stub->method('insert')->will('data'=>$this->returnArgument(0));

是否有小问题我做错了或者我是否需要尝试使用回调或类似的东西?

1 个答案:

答案 0 :(得分:2)

您可以使用returnCallback作为示例:

        ->will($this->returnCallback(function ($arg1) {
                return array('success'=>true,'data'=>$arg1);
        }));

希望这个帮助