在制作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');
});
答案 0 :(得分:0)
看看the code,我们可以看到在文本通过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');
});