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

在此项目中,我们使用通过Composer安装的Algolia Search。当我在登录表单上运行黄昏测试时,由于错误,它失败了。表单本身的登录效果很好,似乎该测试实际登录并在主屏幕上结束时,登录失败了。

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

此测试的实际错误输出:

1) Tests\Browser\LoginTest::testLogin
Algolia\AlgoliaSearch\Exceptions\UnreachableException: 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('/');
        });
    }
heiheiliangliang 回答:在Algolia搜索上出现Laravel Dusk测试错误:无法连接,请检查您的Algolia应用程序ID

以另一种方式解决。我们的登录系统稍微复杂一些,并根据您的用户类型链接另一个表。由于此任务在我的用户工厂中未在此黄昏测试中定义,因此它缺少有关此用户的一些关键信息,从而导致了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('/');
        });
    }
本文链接:https://www.f2er.com/3012504.html

大家都在问