Laravel Dusk-测试登录超时时的时间不匹配

时间:2019-03-15 11:50:38

标签: laravel-5.7 laravel-dusk

Laravel 5.7.28
laravel / dusk 5.0.2
PHPUnit 7.5.6

我有一个检查登录超时的测试:

public function testLoginTimeout()
{
    $this->browse(function (Browser $browser) {
        $browser->visitRoute('login');
        for ($i = 0; $i < 6; $i++)
            $browser
                ->type('name', 'invalidname')
                ->type('password', 'invalidpass')
                ->press('Login');
        $seconds = app(RateLimiter::class)->availableIn(Str::lower('invalidname') . '|' . request()->ip());
        $browser->assertSee(__('auth.throttle', ['seconds' => $seconds]));
    });
}

有时(每3次尝试1次测试)由于超时不匹配而导致测试失败:预期

  

“登录尝试过多。请在 52 秒内重试。”
  “登录尝试过多。请在 51 秒内重试。”

但实际是

  

“登录尝试过多。请在 53 秒内重试。”

我该如何解决?

我正在正确使用$seconds,就像在framework core中检索它们一样。

P。 S.在这个测试班上,我还有其他一些测试方法。我试图删除它们,让testLoginTimeout独自一人。没有帮助。

0 个答案:

没有答案