Tenho um mapModule
onde importo componentes e exporto-os:
import ComponentName from '../components/ComponentName';
export default {
name: ComponentName,
};
Como posso testar se mapModule
tem as chaves, valores exportados corretos e se eles não são nulos ou indefinidos?
javascript
unit-testing
jestjs
Fasenberg
fonte
fonte
toMatch
deve sertoMatchObject
conforme especificado por @ user3605834Lembre-se de que
.toMatchObject
verifica "se um objeto JavaScript corresponde a um subconjunto das propriedades de um objeto". Portanto, ele pode ter afirmações não intencionais como:expect({ a: 1, b: 2 }).toMatchObject({ a: 1 }); // pass
Se você deseja corresponder exatamente a um objeto, deve usar
.toStrictEqual
, disponível desdejest 23
:expect({ a: 1, b: 2 }).toStrictEqual({ a: 1 }); // fail
fonte
Para uma única chave, você pode verificar
expect(Boolean(obj[prop])).toBe(true | false);
Para várias chaves (onde todas devem estar presentes), você pode usar,
expect(Boolean(obj[prop1]) && Boolean(obj[prop2])).toBe(true | false);
Para várias chaves (onde qualquer uma deve estar presente), você pode usar
expect(Boolean(obj[prop1]) || Boolean(obj[prop2])).toBe(true | false);
fonte