Jestjs Jest断言-包含键的对象

Jestjs Jest断言-包含键的对象,jestjs,Jestjs,说笑,我需要测试一个期望值,它可以是null,也可以是object { main: { prop1: 'abc', prop2: '123', } } 但是如果它是一个对象,那么我并不真正关心main包含什么,我不关心prop1或prop2。我只需要断言对象包含一个名为main的键 提到objectContaining,但它仍然要求我至少指定一个道具,从而使我的代码变得不必要的冗长 是否有任何快速的方法可以实现一个名为objectContainingKey的断言,例如:

说笑,我需要测试一个期望值,它可以是null,也可以是object

{
  main: {
    prop1: 'abc',
    prop2: '123',
  }
}
但是如果它是一个对象,那么我并不真正关心
main
包含什么,我不关心
prop1
prop2
。我只需要断言对象包含一个名为
main
的键

提到
objectContaining
,但它仍然要求我至少指定一个
道具
,从而使我的代码变得不必要的冗长

是否有任何快速的方法可以实现一个名为
objectContainingKey
的断言,例如:


expect(something).toEqual(expect.objectContainingKey('main'))

或者你可以用一种有点棘手的方式来做

const something = { main: { prop1: 'abc', prop2: '123' } }

expect(Object.keys(something).toString()).toBe('main')

这些文件比公认的答案更合适、更具可读性:

expect(obj.main).toBeDefined();
假定

const something={
主要内容:{
建议1:‘abc’,
建议二:"123",,
}
}
然后,您可以使用并检查
something
是否是一个包含键
main
的对象,该键包含一个对象

{
  main: {
    prop1: 'abc',
    prop2: '123',
  }
}
expect(某物)。toEqual(
expect.objectContaining({
main:expect.any(对象),
});
);

好的,没关系,我在一个漂亮的盒子里找到的!我喜欢!
expect(obj.main).toBeDefined();