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