我想用 jest
测试返回的对象是否符合我的预期。
我正在尝试这个:
const desiredResult = {
host: '192.168.1.1',
port: expect.any(Number),
delta: expect.toBeDefined()
}
expect(result).toMatchObject(desiredResult)
jest
是说 .toBeDefined()
不是一个函数(但是 .any(Number)
没问题):
TypeError: expect.toBeDefined is not a function
173 | host: '192.168.1.1',
174 | port: expect.any(Number),
> 175 | delta: expect.toBeDefined()
| ^
176 | }
177 | expect(portCallback.mock.calls[0][0]).toMatchObject(desiredResult)
等(期望结果)
最佳答案
使用 expect.anything()
而不是 expect.toBeDefined()
.
就像expect.any()
, 但不需要构造函数作为参数并且匹配除 null
之外的任何内容或 undefined
.
请参阅https://facebook.github.io/jest/docs/en/expect.html#expectanything
关于javascript - expect.toBeDefined() 不是 expect.toMatchObject() 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50622264/