单元测试CakePHP 3.x基本授权登录

时间:2015-07-14 20:32:40

标签: unit-testing cakephp basic-authentication cakephp-3.0

我想测试基本CakePHP 3.x身份验证表单的工作方式和功能,以及该操作背后的相关逻辑。但是,我已经四处寻找尝试为CakePHP 3.x生成的登录页面编写单元测试 - 您知道,为了完整的代码覆盖 - 并且发现严重缺乏或缺失的可用信息。

我可以在CakePHP 2.x上找到大量有关单元测试登录表单的信息,由于CakePHP 2.x&之间的变化,这几乎没用。 3.x的任何人都可以向我指出一些详细信息,或者提供有关测试登录页面的解释吗?

编辑 寻找教程(但如果公开请求的信息不会将它们拒之门外),工具或其他快捷方式;我不想要/需要副本&粘贴溶液。我正在寻找的是有关数据结构的更多信息,以便我可以将单元测试放在一起。

编辑2 我正在尝试使用CakePHP 3.x来完成this

1 个答案:

答案 0 :(得分:4)

看看这个!

public function testAddUnauthenticatedFails()
{
    // No session data set.
    $this->get('/articles/add');

    $this->assertRedirect(['controller' => 'Users', 'action' => 'login']);
}

public function testAddAuthenticated()
{
    // Set session data
    $this->session([
        'Auth' => [
            'User' => [
                'id' => 1,
                'username' => 'testing',
                // other keys.
            ]
        ]
    ]);
    $this->get('/articles/add');

    $this->assertResponseOk();
    // Other assertions.
}

Cake 3 cookbook on testing

复制

修改

没有意识到问题是关于身份验证实习生的测试 - 但这里有一个链接:https://github.com/cakephp/cakephp/tree/master/tests/TestCase/Auth