在 Laravel 中使用 PHPUnit 进行 google 身份验证器条形码扫描的单元测试存根
Unit test stub for google authenticator barcode scanning using PHPUnit in Laravel
请帮我找出解决办法。
- 有谁知道如何使用 PHPUnit 编写用于扫描条形码的单元测试存根?
供参考 :
在我们的应用程序中,使用了双因素身份验证(google 身份验证器)。当用户在下一个显示条形码的屏幕上输入有效的用户名和密码时,我们使用移动设备上的 google-authenticator 应用程序扫描该条形码,然后生成 6 位代码,我们在 Web 应用程序中输入该代码,然后重定向到主页。
- 如何在编写用于登录的单元测试存根时设置 cookie?
- 为您的 2FA 创建抽象
- 使 Google 身份验证器成为默认实现
- 创建一个适合您需要的假实现。这可以是始终有效的固定六位代码,或者您可以将其设置为可配置
- 在你的测试中用假的替换默认实现
- 测试您在登录过程中需要测试的场景
- 创建手动测试以确保您的 Google 身份验证器实施确实有效
我知道这个回答比较抽象,但你的问题也不是很具体。如果您能提供更多详细信息,我很乐意深入探讨。
对于第 2 点:
在 laravel.
中进行单元测试时,我可以使用请求设置 cookie(json 编码数组)
$cookie = ['cookiename' => \Crypt::encryptString(json_encode(array('cookieValue' => 1)))];
$this->call('post', 'login', [
'username' => user1,
'password' => 'test',
'_token' => csrf_token(),
'remember' => 'on',
], $cookie)
请帮我找出解决办法。
- 有谁知道如何使用 PHPUnit 编写用于扫描条形码的单元测试存根? 供参考 : 在我们的应用程序中,使用了双因素身份验证(google 身份验证器)。当用户在下一个显示条形码的屏幕上输入有效的用户名和密码时,我们使用移动设备上的 google-authenticator 应用程序扫描该条形码,然后生成 6 位代码,我们在 Web 应用程序中输入该代码,然后重定向到主页。
- 如何在编写用于登录的单元测试存根时设置 cookie?
- 为您的 2FA 创建抽象
- 使 Google 身份验证器成为默认实现
- 创建一个适合您需要的假实现。这可以是始终有效的固定六位代码,或者您可以将其设置为可配置
- 在你的测试中用假的替换默认实现
- 测试您在登录过程中需要测试的场景
- 创建手动测试以确保您的 Google 身份验证器实施确实有效
我知道这个回答比较抽象,但你的问题也不是很具体。如果您能提供更多详细信息,我很乐意深入探讨。
对于第 2 点: 在 laravel.
中进行单元测试时,我可以使用请求设置 cookie(json 编码数组)$cookie = ['cookiename' => \Crypt::encryptString(json_encode(array('cookieValue' => 1)))];
$this->call('post', 'login', [
'username' => user1,
'password' => 'test',
'_token' => csrf_token(),
'remember' => 'on',
], $cookie)