我在mapModule
哪里导入组件并导出它们:
import ComponentName from '../components/ComponentName';
export default {
name: ComponentName,
};
我如何测试它mapModule
具有正确的导出键,值并且它们不是null或未定义?
Answers:
您可以使用以下之一:
toEqual和toMatchObject是对象的模板匹配器:
let Obj = {name: 'component name', id: 2};
expect(oneObj).toEqual({name: 'component name'}) // false, should be exactly equal all Obj keys and values
expect(oneObj).toMatchObject({name: 'component name'}) // true
或轻松使用toHaveProperty:
let Obj = {name: 'component name'};
expect(oneObj).toHaveProperty('name') // true
expect(oneObj).toHaveProperty('name', 'component name') // true
请记住,请.toMatchObject
检查“ JavaScript对象是否与对象属性的子集匹配”。因此它可能具有意外的声明,例如:
expect({ a: 1, b: 2 }).toMatchObject({ a: 1 }); // pass
如果您确实想完全匹配一个对象,则应使用.toStrictEqual
,因为jest 23
:
expect({ a: 1, b: 2 }).toStrictEqual({ a: 1 }); // fail
toMatch
应该toMatchObject
由@ user3605834指定