Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 单元测试CakePHP 3.x基本授权登录_Unit Testing_Cakephp_Basic Authentication_Cakephp 3.0 - Fatal编程技术网

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

Unit testing 单元测试CakePHP 3.x基本授权登录,unit-testing,cakephp,basic-authentication,cakephp-3.0,Unit Testing,Cakephp,Basic Authentication,Cakephp 3.0,我想测试基本CakePHP 3.x身份验证表单的工作原理和功能,以及该操作背后的相关逻辑。然而,我一直在尝试为用CakePHP 3.x生成的登录页面编写一个单元测试——你知道,为了代码覆盖的完整性——并且发现可用信息严重缺乏或缺失 我可以在cakephp2.x上找到大量用于单元测试登录表单的信息,由于cakephp2.x和3.x之间的变化,这些信息基本上是无用的。有人能告诉我一些关于测试登录页面的详细信息吗 编辑我不寻找教程(但如果公开请求信息,我不会拒绝它们)、工具或其他快捷方式;我不想要/需

我想测试基本CakePHP 3.x身份验证表单的工作原理和功能,以及该操作背后的相关逻辑。然而,我一直在尝试为用CakePHP 3.x生成的登录页面编写一个单元测试——你知道,为了代码覆盖的完整性——并且发现可用信息严重缺乏或缺失

我可以在cakephp2.x上找到大量用于单元测试登录表单的信息,由于cakephp2.x和3.x之间的变化,这些信息基本上是无用的。有人能告诉我一些关于测试登录页面的详细信息吗

编辑我不寻找教程(但如果公开请求信息,我不会拒绝它们)、工具或其他快捷方式;我不想要/需要复制粘贴解决方案。我要寻找的是关于数据结构的更多信息,以便我可以将单元测试放在一起

编辑2我正在尝试完成,但改用CakePHP 3.x。

看看这个

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.
}
抄袭

编辑:

我没有意识到问题是关于认证实习生的测试,但这里有一个链接:

看看这个

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.
}
抄袭

编辑:


我没有意识到问题是关于认证实习生的测试——但这里有一个链接:

那么,要求提供教程、工具等不是一个好办法吗。。。请就特定的编程相关问题提出您的问题。另外,请说明您是否真的在使用基本身份验证,因为“使用CakePHP生成的登录页面”听起来更像是基于表单的身份验证。@ndm我已经对我的问题做了一些澄清,感谢您指出我原来问题中的模糊之处。如果需要,我可以在回到我的工作站时为问题添加一些代码;虽然在我询问默认的烘焙实现时不需要代码,但也不需要询问教程、工具等。。。请就特定的编程相关问题提出您的问题。另外,请说明您是否真的在使用基本身份验证,因为“使用CakePHP生成的登录页面”听起来更像是基于表单的身份验证。@ndm我已经对我的问题做了一些澄清,感谢您指出我原来问题中的模糊之处。如果需要,我可以在回到我的工作站时为问题添加一些代码;虽然在我询问默认的烘焙实现时不需要代码,但这是一个很好的建议@Spritz,谢谢。但是,我想了解有关如何测试授权登录表单本身所涉及的操作的具体信息,而不是CakePHP.Oh中基本身份验证系统的身份验证保护!对此我非常抱歉:-D那么你应该看看这里:你为什么要测试这样的东西?根据我的经验,最好关注较低的代码覆盖率,并进行一些好的测试:-)不要太关注百分比;-)再次感谢@Spritz!请将链接添加到您的答案中,以便我可以对其进行适当的投票!您提供的资源肯定会在其他方面帮助我,因为我对TDD和单元测试有点模糊。我的目标是在我当前的项目中解决一些问题。然而,这并不是我想要的;我更新了我的问题,更好地说明了我的目标。我还使用了一个非常简单的测试套件来测试登录功能:这是一个很好的建议@Spritz,谢谢。但是,我想了解有关如何测试授权登录表单本身所涉及的操作的具体信息,而不是CakePHP.Oh中基本身份验证系统的身份验证保护!对此我非常抱歉:-D那么你应该看看这里:你为什么要测试这样的东西?根据我的经验,最好关注较低的代码覆盖率,并进行一些好的测试:-)不要太关注百分比;-)再次感谢@Spritz!请将链接添加到您的答案中,以便我可以对其进行适当的投票!您提供的资源肯定会在其他方面帮助我,因为我对TDD和单元测试有点模糊。我的目标是在我当前的项目中解决一些问题。然而,这并不是我想要的;我已经更新了我的问题,更好地说明了我的目标。我还使用了一个非常简单的测试套件来测试登录功能: