Estamos usando la biblioteca de pruebas Jest. Soy bastante nuevo en esto y tengo el siguiente problema. Si desea probar un objeto, donde normalmente usaría toStrictEqual . Pero
Los tipos de objeto se comprueban para que sean iguales. por ejemplo, una instancia de clase con campos ayb no será igual a un objeto literal con campos ayb.
En este caso, mi objeto proviene de un constructor que no sea Object. Entonces no puedo usar expect(myObj).toStrictEqual({...}) . Tampoco usaría toMatchObject , no parece una buena opción (debo probar que almacena exactamente las mismas propiedades y no un subconjunto).
Traté de usar expect(myObj).toEqual({...}) pero me advierte "prefiero stricEquality ".
Esto es lo que ejecuto actualmente:
test('myTest', () => {
expect(new OurConstructor(255)).toEqual({
a: true,
b: true,
c: true,
});
});
¿Cuál crees que sería el enfoque más razonable aquí? (Mi código actual simplemente ignora esa advertencia).
Una forma es copiar superficialmente el objeto devuelto:
const instance = new myConstructor(255)
expect({...instance}).toStrictEqual({...})
Si es necesario podemos comprobar usando toBeInstanceOf
Si puedes ignorar la regla, esa también es una posibilidad.