laravel PHPUnit / DUSK测试包含ID的路由

4xrmg8kj  于 2023-04-22  发布在  PHP
关注(0)|答案(1)|浏览(106)

我正在进行我的第一个DUSK(基于PHPUnit)测试。我正在创建一个客户并转到他们的show页面。UUID在保存到数据库中时创建,并用作路由的一部分。路由可以处理未知的uuid,因为它们具有通配符语法。

Route::get('/customer/{uuid}/show', 'App\Http\Controllers\CustomerController@show')->name('customer.show');

PHPUnit/DUSK有类似的功能吗?
这是我已经厌倦了,但Assert失败。

...

   ->press('NEW CUSTOMER')
   ->waitForLocation('/customer/create')
   ->type('first_name', 'John')
   ->type('last_name', 'Doe')
   ->type('date_of_birth', '03/03/1933')
   ->press('SAVE')
   ->waitForLocation('/customer/{uuid}/show')
   ->assertPathIs('/customer/{uuid}/show');

**TLDR:**PHPUnit是否允许在路由Assert中使用通配符?

n1bvdmb6

n1bvdmb61#

你认为它是如何工作的?客户端必须以某种方式知道UUID。有3个选项:
1.返回响应体中新创建客户的UUID。
1.从服务器返回HTTP 301响应,其中包含创建的资源的位置,即只将客户端重定向到新客户的页面。
1.最后一个-在客户端生成UUID,而不是在后端生成。这样客户端将自动知道新客户的UUID。

相关问题