laravel黄昏宏引发的BadMethodCallException

问题描述 投票:0回答:1

我在app/Providers/DuskServiceProvider文件中定义了以下宏,但黄昏正在抛出BadMethodCallException:

Browser::macro('logoutOfWave', function () {
        $this->visit(env('DUSK_URL'))
            ->script("localStorage.clear()");
        $this->visit(env('DUSK_URL'));

        return $this;
});

我在黄昏测试中使用它:

public function testUnauthedUserIsRedirectedToLogin()
{
    $this->browse(function (Browser $browser) {
        $browser->logoutOfWave()->visit(env('DUSK_URL') . '/systems/create')->assertPathIs('/login');
    });
}

这会出现以下错误:

1) Tests\Browser\AddSystemsTest::testUnauthedUserIsRedirectedToLogin
BadMethodCallException: Call to undefined method [logoutOfWave].

/var/www/html/vendor/laravel/dusk/src/Browser.php:484
/var/www/html/tests/Browser/AddSystemsTest.php:20
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:67
/var/www/html/tests/Browser/AddSystemsTest.php:21

我已将服务提供程序添加到config/app.php文件中进行注册。我不确定为什么它找不到宏?

php laravel-dusk
1个回答
0
投票

据我所知,运行测试时没有加载服务提供程序。我已将浏览器宏移动到DuskTestCase.php文件中,现在它正在运行

© www.soinside.com 2019 - 2024. All rights reserved.