当前位置:  开发笔记 > 编程语言 > 正文

单元测试(PHPUnit):如何登录?

如何解决《单元测试(PHPUnit):如何登录?》经验,为你挑选了1个好方法。

我正在为使用Zend Framework制作的当前项目编写测试.一切都很好,但我在测试已记录的用户操作/控制器时遇到问题:我需要登录才能执行操作/控制器.

如何登录PHPUnit?



1> Pascal MARTI..:

正如您所说,您想要测试操作/控制器,我想您不是在编写单元测试,而是在编写功能/集成测试 - 即Zend_Test通过MVC进行工作和测试.

这是我在项目中使用的测试函数,我正在测试登录是否正常:

public function testLoggingInShouldBeOk()
{
    $this->dispatch('/login/login');
    $csrf = $this->_getLoginFormCSRF();
    $this->resetResponse();
    $this->request->setPost(array(
        'login' => 'LOGIN',
        'password' => 'PASSWORD',
        'csrfLogin' => $csrf,
        'ok' => 'Login',
    ));
    $this->request->setMethod('POST');
    $this->dispatch('/login/login');
    $this->assertRedirectTo('/');
    $this->assertTrue(Zend_Auth::getInstance()->hasIdentity());
}

简单地说:我正在加载登录表单,提取CSRF令牌,填充表单并发布.

然后,我可以测试我是否已连接.


有了这个,您可以提取登录部分,在每个需要有效用户登录的测试之前调用它.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有