在我的测试中
如何检查openAt的值是否为保存在字符串格式中的日期?
it("should list all tickets", async () => {
const getTicket = await request(app)
.get("/v1/ticket")
.set("authorization", loginResponse.body.accessJWT);
console.log(getTicket.body.result);
console.log(getTicket.body.result[0].conversations);
expect(getTicket.body.result).toEqual(
expect.arrayContaining([
expect.objectContaining({
// _id: expect.any(String),
// status: "pending response",
openAt: expect.any(Date),
conversations: expect.arrayContaining([
expect.objectContaining({
// sender: expect.any(String),
msgAt: expect.any(String),
// message: expect.any(String),
}),
]),
}),
])
);
});
});
我正在检查openAt和msgAt的值是否为日期值。但日期值以字符串形式保存,类似于:
"msgAt": "2021-12-22T08:29:15.038Z",
如何检查openAt的值是否为保存在字符串格式中的日期?
expect.any
中使用? - b.p.expect.any(Date)
将完美地工作。但在这种情况下,它是一个字符串,显然不会起作用。JSON 只能表示基本类型,以及普通对象和数组。 - jonrsharpeDate.now()
的默认值,它应该是一个数字类型,但是当保存并从mongodb获取时,它以iso标准的字符串类型出现。如果expect.any()不接受数据库设置的标准日期,那么什么样的日期才是有效的?也许我可以将其更改为那种形式。 - b.p.