我正在尝试匹配 URL。
lab.before(async () => {
nock('https://dev.azure.com')
.get(centosAzureUri)
.times(5)
.reply(201, [
...
如果我使用字符串,它工作得很好。一个例子如下:
const centosAzureUri = `/${conf.org}/${conf.buildProject}/_apis/build/builds?api-version=4.1&branchName=${conf.buildBranch}`
但是,我想使用如下的正则表达式:
const centosAzureUri = new RegExp(`/${conf.org}/${conf.buildProject}/_apis/build/builds?api-version=4.1.*`, 'g')
那是行不通的。
根据文档,nock
应该接受正则表达式并且 .*
应该匹配任何符号 [因为 .] 并且允许那些匹配的字符重复任意数量次。因此,我假设这应该接受任何字符串结尾,包括 &branchName=${conf.buildBranch}
。
我做错了什么?
最佳答案
我认为 nock 仅使用正则表达式文字与将返回新对象的正则表达式对象。例如。
nock('http://example.com')
.get(/harry\/[^\/]+$/)
.query({param1: 'value'})
.reply(200, "OK");
关于javascript - 箭尾测试失败的正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52996086/