如何解决使用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 举报,一经查实,本站将立刻删除。