javascript - 诺克测试的正则表达式匹配失败
问题描述
我正在尝试匹配 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");
推荐阅读
- cortex-m - Cortex-M NVIC 如何继续中断指令?
- c++ - 重新解释二进制格式的 Cast
- java - 在java中使用可选时如何在条件块中放置空检查?
- c# - 您在领域驱动设计中将 DbContext 放在哪里?
- javascript - 寻找环视断言的替代解决方案
- html - 如何在网页中添加视频循环作为背景?
- vue.js - Quasar Icon Genie CLI 将图标从方形裁剪为矩形
- javascript - 错误:html-pdf:在 lambda nodejs 中收到退出代码“127”
- java - Spring Boot 中基于 URL 的 SSL 证书验证
- spring - 在 Spring Webclient 中使用自定义信任库和密钥库