在zend控制器中收到的Php单元空数组值

时间:2016-08-01 07:53:06

标签: php unit-testing zend-framework phpunit

我正在为我的zf2控制器操作编写单元测试用例。但是我坚持将数据从单元测试用例脚本发布到控制器。

该测试用于登录控制器操作。登录控制器正在检查空用户名和密码。如果为true,它将执行登录操作步骤,否则重定向到登录页面。

问题是我使用下面的代码将数据传递给控制器​​。但是控制器正在接收空阵列。我使用php单元版本4.8和zf2。有没有其他方法来传递数据(我的意思是发布数据)。

$postData = array(
            array('login'  => 'loginusername','password' => 'test')
        );
        $this->dispatch('/login', 'POST', $postData);

1 个答案:

答案 0 :(得分:0)

您应该将\Zend\Http\Request对象传递给dispatch方法:

$parameters = new \Zend\Stdlib\Parameters();
$parameters->fromArray(array('login'  => 'loginusername','password' => 'test'));
$request = new \Zend\Http\Request();
$request->setPost($parameters);
$controller->dispatch($request);