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)