Javascript expect.toBeDefined()不是带有expect.toMatchObject()的函数
我想测试返回的对象是否与我所期望的Javascript expect.toBeDefined()不是带有expect.toMatchObject()的函数,javascript,unit-testing,jestjs,Javascript,Unit Testing,Jestjs,我想测试返回的对象是否与我所期望的jest匹配 我正在尝试这个: const desiredResult = { host: '192.168.1.1', port: expect.any(Number), delta: expect.toBeDefined() } expect(result).toMatchObject(desiredResult) jest是说.tobedefine()不是函数(但可以使用。
jest
匹配
我正在尝试这个:
const desiredResult = {
host: '192.168.1.1',
port: expect.any(Number),
delta: expect.toBeDefined()
}
expect(result).toMatchObject(desiredResult)
jest
是说.tobedefine()
不是函数(但可以使用。
:
ect(desiredResult)使用expect.anything()
而不是expect.toBeDefined()
它类似于expect.any()
,但不要求构造函数作为参数,并匹配除null
或未定义的以外的任何内容
请看您是否尝试不使用括号?显然该字段存在,但不可调用。TobeUndefine不能像我认为的那样使用,这是意料之中的。anything()。@PeterDanis的答案是100%正确的。
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)