Model view controller Zend Framework 2单元测试控制器,POST/GET数据未发送。未定义索引

Model view controller Zend Framework 2单元测试控制器,POST/GET数据未发送。未定义索引,model-view-controller,phpunit,zend-framework2,Model View Controller,Phpunit,Zend Framework2,我一直在尝试按照本教程测试我的控制器-> 我已经尝试了所有可能的代码变体来发送POST或在分派时获取数据,但运行测试后,当我尝试从控制器中的$\u POST数组访问该数据时,我得到的唯一回报是“未定义索引” 我使用的是PHPUnit 3.7.17,除POST和GET数据外,其他所有功能都可以完美运行,我尝试了以下代码: public function testIndexActionCanBeAccessed() { $this->getRequest() ->se

我一直在尝试按照本教程测试我的控制器->

我已经尝试了所有可能的代码变体来发送POST或在分派时获取数据,但运行测试后,当我尝试从控制器中的$\u POST数组访问该数据时,我得到的唯一回报是“未定义索引”

我使用的是PHPUnit 3.7.17,除POST和GET数据外,其他所有功能都可以完美运行,我尝试了以下代码:

public function testIndexActionCanBeAccessed() {

     $this->getRequest()
    ->setMethod("POST")
    ->setPost(new \Zend\Stdlib\Parameters(array('argument' => 'value')));

    $response = $this->dispatch('/app/api/index');
    $this->assertResponseStatusCode(200);
}


我在网上找不到任何关于如何解决这个问题的帮助。有人能帮忙吗?有什么想法吗?

获取/发布数据不发送,这个问题与服务器有关,您能检查从服务器获取数据的功能吗

$p = new Parameters();
$p->set('username','foo');
$p->set('password','bar');
$this->getRequest()->setMethod('POST');
$this->getRequest()->setPost($p);
$this->dispatch('/login');
这对我有用。Parameters()构造函数似乎不是您所期望的那样


医生说它需要一个数组,但我只能让它这样工作。Stdlib\Parameters()构造函数似乎对传入的数组没有任何作用。

这是一个单元测试。它无法正确模拟调度。当通过浏览器发布时,发布效果非常好。这很奇怪,我通过一个粗略的$u POST[“index\u name”]=value解决了我的问题;派遣前的任务。。。
$p = new Parameters();
$p->set('username','foo');
$p->set('password','bar');
$this->getRequest()->setMethod('POST');
$this->getRequest()->setPost($p);
$this->dispatch('/login');