Unit testing 单元测试CakePHP 3.x基本授权登录
我想测试基本CakePHP 3.x身份验证表单的工作原理和功能,以及该操作背后的相关逻辑。然而,我一直在尝试为用CakePHP 3.x生成的登录页面编写一个单元测试——你知道,为了代码覆盖的完整性——并且发现可用信息严重缺乏或缺失 我可以在cakephp2.x上找到大量用于单元测试登录表单的信息,由于cakephp2.x和3.x之间的变化,这些信息基本上是无用的。有人能告诉我一些关于测试登录页面的详细信息吗 编辑我不寻找教程(但如果公开请求信息,我不会拒绝它们)、工具或其他快捷方式;我不想要/需要复制粘贴解决方案。我要寻找的是关于数据结构的更多信息,以便我可以将单元测试放在一起 编辑2我正在尝试完成,但改用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之间的变化,这些信息基本上是无用的。有人能告诉我一些关于测试登录页面的详细信息吗 编辑我不寻找教程(但如果公开请求信息,我不会拒绝它们)、工具或其他快捷方式;我不想要/需
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和单元测试有点模糊。我的目标是在我当前的项目中解决一些问题。然而,这并不是我想要的;我已经更新了我的问题,更好地说明了我的目标。我还使用了一个非常简单的测试套件来测试登录功能: