有没有办法让 assertPathIs() 忽略部分网址?

在制作 Laravel Dusk 测试功能时,我正在尝试检查我的应用程序中的路径。但是,我的应用程序中的 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');});


芜湖不芜
浏览 104回答 1
1回答

莫回无

看一下代码,我们可以看到在文本运行后实际上正在执行正则表达式匹配preg_quote():$pattern = str_replace('\*', '.*', preg_quote($path, '/'));这意味着您可以使用 进行通配符搜索*,因此应该可以:$this->browse(function (Browser $browser) {     $browser->loginAs('email@email.com')             ->visit('/test')             ->assertPathIs('/test')             ->assertSee('LinkText')             ->clickLink('LinkText')             ->assertPathIs('/test/*/testing');});
打开App,查看更多内容
随时随地看视频慕课网APP