【发布时间】:2022-08-17 16:04:02
【问题描述】:
在我的测试中
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 的值是否是以字符串格式保存的日期?
-
是的,谢谢
-
但我对为什么它无法将其视为不是 Date 数据类型感到更加困惑
-
你到底什么意思?它的不是
Date,它是一个字符串。 -
那么这取决于你的意思是断言。
expect.any(Date)可以完美运行如果实际值为 Date.但在这种情况下,它是一个字符串,它显然不会。JSON只能表示基元,加上 vanilla 对象和数组。
标签: javascript datetime testing jestjs