Jest 测试如何处理混合答案 String 和 int 预期
Jest Test how to handle when a mixed answer String and int is expected
我正在 运行 测试创建后为客户生成 ID(随机数)的应用程序,因为该数字是随机的,我如何确保创建的数字有 10 位数字?
这是代码
describe('POST/accounts/', () => {
var resquestBody = {"name:" "Paul", "age":23, "profession":"teacher"}
it ('test member creation', async () => {
const req = await request
.post('/accounts')
.send(requestBody')
.expect(200)
expect(req.body).toEqual('')
})
})
应用程序生成的答案是 10 个数字长度。
类似于:
{ID: 2123212321}
我的疑问是如何确保生成的号码有 10 位数字并且与 ID 相关。
我试过了
expect(res.body)toHaveProperty('ID')
但是对于这个 sintaxe 我只能测试它有 ID 而不是数字本身。
有什么建议吗?
你可以这样试试
let id = res.body.id + ''; //convert to string if number
expect(id.length).toEqual(10); // validate string length
或者您也可以使用 ID 的正则表达式并使用 toEqual
方法验证格式是否正确。
在你的帮助下,我解决了我的问题:
describe('POST/accounts/', () => {
var resquestBody = {"name:" "Paul", "age":23, "profession":"teacher"}
it ('test member creation', async () => {
const req = await request
.post('/accounts')
.send(requestBody')
.expect(200)
expect(req.body).toHaveProperty('ID')
expect(req.body.id).toBeGreaterThanOrEqual(1000000000);
expect(req.body.id).toBeLessThan(9999999999);
})
})
再次感谢您的帮助!
我正在 运行 测试创建后为客户生成 ID(随机数)的应用程序,因为该数字是随机的,我如何确保创建的数字有 10 位数字?
这是代码
describe('POST/accounts/', () => {
var resquestBody = {"name:" "Paul", "age":23, "profession":"teacher"}
it ('test member creation', async () => {
const req = await request
.post('/accounts')
.send(requestBody')
.expect(200)
expect(req.body).toEqual('')
})
})
应用程序生成的答案是 10 个数字长度。 类似于:
{ID: 2123212321}
我的疑问是如何确保生成的号码有 10 位数字并且与 ID 相关。
我试过了
expect(res.body)toHaveProperty('ID')
但是对于这个 sintaxe 我只能测试它有 ID 而不是数字本身。
有什么建议吗?
你可以这样试试
let id = res.body.id + ''; //convert to string if number
expect(id.length).toEqual(10); // validate string length
或者您也可以使用 ID 的正则表达式并使用 toEqual
方法验证格式是否正确。
在你的帮助下,我解决了我的问题:
describe('POST/accounts/', () => {
var resquestBody = {"name:" "Paul", "age":23, "profession":"teacher"}
it ('test member creation', async () => {
const req = await request
.post('/accounts')
.send(requestBody')
.expect(200)
expect(req.body).toHaveProperty('ID')
expect(req.body.id).toBeGreaterThanOrEqual(1000000000);
expect(req.body.id).toBeLessThan(9999999999);
})
})
再次感谢您的帮助!