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);
}