【发布时间】:2020-02-08 21:32:00
【问题描述】:
我正在尝试编写一个测试来验证使用 aws-sdk 写入 DynamoDB 的代码。尽管官方文档 (https://jestjs.io/docs/en/expect#expectobjectcontainingobject) 中提出了一个非常相似的用例,但我的断言失败了。任何帮助表示赞赏。
这是我的测试:
test("givenCprRepositoryServiceTestSuite_whenSaveCprRecord_thenMetaExpiresAtAppended", async () => {
await cprRepositoryService.saveCprRecord({cprNumber: existingCpr, firstName: "Jens", lastName: "Jensen"})
expect(aws.DynamoDB.DocumentClient.prototype.put).toHaveBeenCalledWith(
expect.objectContaining({
Item: {
metaExpiresAt: expect.any(Number)
}
}))
})
而返回的错误是:
错误:
expect(jest.fn()).toHaveBeenCalledWith(...expected)
预期的对象包含:
{"Item": {"metaExpiresAt": Any<Number>}}
收到:
{"Item": {"cprNumber": "1234567890", "firstName": "Jens", "lastName": "Jensen", "metaExpiresAt": 1570792526}, "TableName": "CountryLayer_Cpr"}
【问题讨论】:
标签: javascript node.js typescript jestjs aws-sdk