如何在 Cypress 测试中验证结果是否为 GUID 格式?
How to verify a result is in a GUID format in Cypress test?
在我的 Cypress 测试中,我需要验证值是否为 GUID 格式。
这是返回值的示例:fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f
我试过使用下面的 RegEx 断言:
resultString = Regex.Replace(subjectString,
"(?im)^[{(]?[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$",
"'[=10=]'");
expect(myXhr.response.body.Id).should('contain', /resultString/)
但我收到以下错误消息:
Invalid Chai property: should
您必须使用 .match
将您的值与 RegEx 进行比较。您可以查看 Cypress Assertions 页面以了解 cypress 支持的所有断言。
expect(myXhr.response.body.Id).to.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)
您可能会发现使用 chai-uuid 库更容易。
Cypress 将它添加到构建中,但我认为有一个错误阻止它开箱即用。但是,您可以扩展 chai - 请参阅示例食谱 extending-cypress__chai-assertions 了解完整信息。
最简单的方法是
npm install -D chai-uuid
或
yarn add -D chai-uuid
然后是测试
chai.use(require('chai-uuid'));
it('validates my uuid', () => {
expect('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f').to.be.a.guid()
expect('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f').to.be.a.uuid()
expect('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f').to.be.a.uuid('v4')
cy.wrap('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f')
.should('be.a.guid')
cy.wrap('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f')
.should('be.a.uuid', 'v4') // same as 'be.a.guid'
})
在我的 Cypress 测试中,我需要验证值是否为 GUID 格式。
这是返回值的示例:fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f
我试过使用下面的 RegEx 断言:
resultString = Regex.Replace(subjectString,
"(?im)^[{(]?[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$",
"'[=10=]'");
expect(myXhr.response.body.Id).should('contain', /resultString/)
但我收到以下错误消息:
Invalid Chai property: should
您必须使用 .match
将您的值与 RegEx 进行比较。您可以查看 Cypress Assertions 页面以了解 cypress 支持的所有断言。
expect(myXhr.response.body.Id).to.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)
您可能会发现使用 chai-uuid 库更容易。
Cypress 将它添加到构建中,但我认为有一个错误阻止它开箱即用。但是,您可以扩展 chai - 请参阅示例食谱 extending-cypress__chai-assertions 了解完整信息。
最简单的方法是
npm install -D chai-uuid
或
yarn add -D chai-uuid
然后是测试
chai.use(require('chai-uuid'));
it('validates my uuid', () => {
expect('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f').to.be.a.guid()
expect('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f').to.be.a.uuid()
expect('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f').to.be.a.uuid('v4')
cy.wrap('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f')
.should('be.a.guid')
cy.wrap('fbb4f73c-0e3b-4fda-ad0a-81a1b8a8c72f')
.should('be.a.uuid', 'v4') // same as 'be.a.guid'
})