Algolia搜索上的Laravel Dusk测试错误:无法连接,请检查您的Algoliaa应用程序Id



在这个项目中,我们使用通过Composer安装的Algolia Search。当我在登录表单上运行黄昏测试时,由于一个错误,它失败了。表单上的登录本身表现良好,似乎当这个测试真正登录并最终出现在主屏幕上时,这就是它失败的地方。

注意:.env文件中定义了Algolia APP_ID和SECRET,使用该应用程序时一切正常。

此测试的实际错误输出:

1) TestsBrowserLoginTest::testLogin
AlgoliaAlgoliaSearchExceptionsUnreachableException: Impossible to connect, please check your Algolia Application Id.

黄昏测试:

public function testLogin()
{
$user = factory(User::class)->create([
'email' => 'dusktester@mail.com',
'password' => '***'
]);
$this->browse(function (Browser $browser) use ($user) {
$browser->visit('/login')
->type('email', 'dusktester@mail.com')
->type('password', '***!')
->press('.button')
->assertPathIs('/');
});
}

用另一种方法解决了它。我们的登录系统稍微复杂一点,根据您的用户类型链接另一个表。由于这不是在我的用户工厂中定义的,在这个Dusk测试中,它缺乏关于这个用户的一些关键信息,这导致了Algolia搜索错误。

我解决问题的方法:

不再在Dusk测试中创建用户,而是使用我的一个已种子测试用户。该用户的凭据取自我的.env文件,以确保黄昏测试文件干净/安全,可以上传到Git:

public function testLogin()
{
$this->browse(function (Browser $browser){
$browser->visit('/login')
->type('email', env('DUSK_USER'))
->type('password', env('DUSK_PASSWORD'))
->press('.button')
->assertPathIs('/');
});
}

最新更新