J'ai un test comme suit:
expect(result.data.quota).toBeInstanceOf(Number);
Ce test échoue avec une erreur étrange disant qu'un numéro était attendu et qu'un numéro a été reçu:
expect(value).toBeInstanceOf(constructor)
Expected constructor: Number
Received constructor: Number
Received value: 2000
attendre (valeur) .pas.àBeNaN ();
Edit: j'irais avec la solution @bszoms:
expect(typeof value).toBe('number')
Vous pouvez également faire ceci: expect(typeof <value>).toBe('number')
Ou vous pouvez utiliser jest-extended , qui ajoute toute une gamme d'apparieurs dont toBeNumber
.
Les deux courtoisie de la discussion ici .
Les travaux suivants pour tous les constructeurs:
expect(value).toEqual(expect.any(Number));
En prenant la réponse de @ stephan, cela fonctionne pour les méthodes basées sur l'async/promesse:
await expect(asyncFunction()).resolves.toEqual(expect.any(Number));