我正在为我的zf2控制器操作编写单元测试用例。但是我坚持将数据从单元测试用例脚本发布到控制器。
该测试用于登录控制器操作。登录控制器正在检查空用户名和密码。如果为true,它将执行登录操作步骤,否则重定向到登录页面。
问题是我使用下面的代码将数据传递给控制器。但是控制器正在接收空阵列。我使用php单元版本4.8和zf2。有没有其他方法来传递数据(我的意思是发布数据)。
$postData = array(
array('login' => 'loginusername','password' => 'test')
);
$this->dispatch('/login', 'POST', $postData);
答案 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);