Zend framework2 zf2 AbstractHttpControllerTestCase问题

Zend framework2 zf2 AbstractHttpControllerTestCase问题,zend-framework2,Zend Framework2,我在使用\Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase类进行控制器测试时遇到了一个问题 AbstractHttpControllerTestCase::dispatch()方法上的第三个参数似乎不接受多维数组 例如 上面的方法调用将引发异常,因为$this->url()方法在使用'PUT'时不接受数组值'POST'是可以的,因为它没有使用setContent() 我需要使用数组值,因为表单中有复选框,我想在提交多个值时测试

我在使用
\Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase
类进行控制器测试时遇到了一个问题
AbstractHttpControllerTestCase::dispatch()
方法上的第三个参数似乎不接受多维数组

例如

上面的方法调用将引发异常,因为
$this->url()
方法在使用
'PUT'
时不接受数组值<代码>'POST'是可以的,因为它没有使用
setContent()

我需要使用数组值,因为表单中有复选框,我想在提交多个值时测试这个案例

我想知道是否有人遇到了同样的问题,并设法找到了解决办法。我可以重写
$this->url()
方法,但我不确定这是否是我没有正确执行的操作


任何帮助都将不胜感激

同时,我必须重写$this->url()方法来处理数组值

这是我必须改变的

elseif ($method == HttpRequest::METHOD_PUT) {
        array_walk($params, function(&$item, $key)
                {
                    if (is_array($item)) {
                        $oldItem = $item;
                        $item = '';
                        foreach ($oldItem as $value) {
                            $item = ($item ? $item . "&" : $item);
                            $item .= $key . '[]=' . $value;
                        }
                    } else {
                        $item = $key . '=' . $item;
                    }
                }
        );
        $content = implode('&', $params);

        $request->setContent($content);
}
elseif ($method == HttpRequest::METHOD_PUT) {
        array_walk($params, function(&$item, $key)
                {
                    if (is_array($item)) {
                        $oldItem = $item;
                        $item = '';
                        foreach ($oldItem as $value) {
                            $item = ($item ? $item . "&" : $item);
                            $item .= $key . '[]=' . $value;
                        }
                    } else {
                        $item = $key . '=' . $item;
                    }
                }
        );
        $content = implode('&', $params);

        $request->setContent($content);
}