使用Dusk Jetstream和Intertia JS进行Laravel浏览器测试,使渲染日志保持在页面中

问题描述

我正在研究Laravel 8项目。我注意到在Laravel 8中,包括身份验证在内的几项更改。我现在使用JetStream进行身份验证,并使用Inertia开发SPA应用程序。我也在使用Dusk为我的应用程序编写浏览器测试。但是在测试中,它会继续呈现登录页面。

我有一个呈现惯性js视图的控制器。

class MenuCategoryController extends Controller
{
    //
    public function index()
    {
        $menuCategories = auth()->user()->restaurant->menu->menuCategories()->get();

        return Inertia::render('MenuCategory/MenuCategoryList',[ 'menuCategories' => $menuCategories ]);
    }
}

这是我的浏览器测试。

class MenuCategoryTest extends DuskTestCase
{
    /**
     * A Dusk test example.
     *
     * @return void
     */
    public function testMenuCategoryListDisplayed()
    {
        $this->browse(function (Browser $browser) {
            $restaurantAdmin = $this->getRestaurantAdmin();
            $restaurant = Restaurant::factory()->create([ 'user_id' => $restaurantAdmin->id,]);
            $browser->loginAs($restaurantAdmin)
                ->visit(route('admin.menu-categories'))
                ->waitFor('.menu-categories-page-title');
        });
    }
}

运行测试时,用户来自播种机。我可以使用同一帐户登录浏览器。但是当我运行测试时,它失败了。在屏幕截图中,它呈现了登录页面。我的代码中缺少什么,我该如何解决?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...