[英]Is there a way to have assertPathIs() ignore part of the url?
在制作 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');
});
看一下代码,我们可以看到在通过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');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.