使用Laravel中的PHPUnit扫描谷歌验证器条形码的单元测试存根



请帮我找出解决方案。

  1. 有人知道如何使用PHPUnit扫描条形码来编写单元测试存根吗?FYI:在我们的应用程序中,使用了双因素身份验证(google authenticator(。当用户在下一个显示有条形码的屏幕上输入有效的用户名和密码时,我们使用手机上的谷歌验证器应用程序扫描条形码,然后生成6位代码,我们在web应用程序中输入,然后重定向到主页
  2. 如何在为登录编写单元测试存根时设置cookie
  1. 为2FA创建抽象
  2. 将Google Authenticator设为默认实现
  3. 创建一个符合您需求的伪实现。这可能是一个固定的六位数代码,始终有效,或者您将其配置为
  4. 在测试中用false交换默认实现
  5. 测试登录过程中需要测试的场景
  6. 创建一个手动测试,以确保您的Google Authenticator实现确实有效

我知道这个答案相当抽象,但你的问题也不是很具体。如果你能提供更多的细节,我很乐意深入了解。

对于点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)

最新更新