Question: I have been trying to test my controllers as per this tutorial -> [Zend Framework 2.1 Unit testing](http://framework.zend.com/manual/2.1/en/tutorials/unittesting.html#testing-actions-with-post)

I have tried every possible variation of the code to send POST or GET data along with the dispatch but the only thing I get back from running the test is "Undefined Index" when I try to access that data from the $\_POST array in the controller.

I am using PHPUnit 3.7.17, Everything else works perfectly except for POST and GET data, I have tried the following code:

```
public function testIndexActionCanBeAccessed() {

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

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

```

AND

```
public function testIndexActionCanBeAccessed() {

    $post_data = array("argument" => "value");

    $response = $this->dispatch("/app/api/index", "POST", $post_data);
    $this->assertResponseStatusCode(200);
}

```

I can't find any help on the web how to fix this issue. Can anyone help out? Any ideas?

Answer: 
```
$p = new Parameters();
$p->set('username','foo');
$p->set('password','bar');
$this->getRequest()->setMethod('POST');
$this->getRequest()->setPost($p);
$this->dispatch('/login');

```

This works for me. The Parameters() constructor doesn't seem to be what you're expecting it to be.

The docs say it takes an array, but I could only get it to work this way. The Stdlib\Parameters() constructor doesn't seem to do anything with the array passed in.
Get/Post data not sending, this issue is related to server, can you check the function use for fetching data from server.