Php 有没有办法让assertPathIs()忽略url的一部分?

Php 有没有办法让assertPathIs()忽略url的一部分?,php,laravel,testing,laravel-dusk,Php,Laravel,Testing,Laravel Dusk,在制作Laravel黄昏测试函数时,我试图检查应用程序中的路径。但是,我的应用程序中的URL会发生变化,这取决于用户或他们正在查看的内容(例如,/Test/123/testing:在这种情况下,123可以是数字的任意组合。) 可以忽略中间部分吗 $this->browse(function (Browser $browser) { $browser->loginAs('email@email.com') ->visit('/test')

在制作Laravel黄昏测试函数时,我试图检查应用程序中的路径。但是,我的应用程序中的URL会发生变化,这取决于用户或他们正在查看的内容(例如,
/Test/123/testing
:在这种情况下,
123
可以是数字的任意组合。)

可以忽略中间部分吗

$this->browse(function (Browser $browser) {
    $browser->loginAs('email@email.com')
            ->visit('/test')
            ->assertPathIs('/test')
            ->assertSee('LinkText')
            ->clickLink('LinkText')
            ->assertPathIs('/test/(CanBeAnything)/testing');
});
查看一下,我们可以看到,在文本运行完之后,实际上正在执行正则表达式匹配:

$pattern=str\u replace(“\*”,“.*”,preg\u quote($path,“/”);
这意味着您可以使用
*
进行通配符搜索,因此这应该可以:

$this->browse(功能(Browser$Browser){
$browser->loginAs('email@email.com')
->访问(“/测试”)
->资产路径(“/test”)
->assertSee('LinkText')
->单击链接(“链接文本”)
->资产路径('/test/*/testing');
});
看一看,我们可以看到,在文本运行完之后,实际上正在执行正则表达式匹配:

$pattern=str\u replace(“\*”,“.*”,preg\u quote($path,“/”);
这意味着您可以使用
*
进行通配符搜索,因此这应该可以:

$this->browse(功能(Browser$Browser){
$browser->loginAs('email@email.com')
->访问(“/测试”)
->资产路径(“/test”)
->assertSee('LinkText')
->单击链接(“链接文本”)
->资产路径('/test/*/testing');
});