为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
芜湖不芜 2022-10-14 15:06:18
在制作 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');});
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

看一下代码,我们可以看到在文本运行后实际上正在执行正则表达式匹配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');});



查看完整回答
反对 回复 2022-10-14
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信