Jest - se moquant d'un appel de fonction
Je suis en train d'essayer de se moquer d'un appel de fonction, et s'attendre à avoir appelé une autre fonction au sein d'une fois.
myFunctions.test.js
import { resetModal } from '../myFunctions.js';
describe('resetModal', () => {
it('calls the clearSomethingInModal function', () => {
const clearSomethingInModal = jest.fn();
resetCreationModal();
expect(clearSomethingInModal.mock.calls.length).toBe(1);
})
})
myFunctions.js
export resetModal() {
clearSomethingInModal()
}
Cependant, la Plaisanterie sortie dit qu'il n'a pas été appelé. Si quelqu'un peut vous suggérer la meilleure façon pour ce faire, je vous serais très reconnaissant.
source d'informationauteur matt-p | 2016-11-23
Vous devez vous connecter pour publier un commentaire.
Votre approche de la dose n'est pas le travail parce que vous vous moquez
clearSomethingInModal
seulement dans le contexte de votre fichier de test, afinclearSomethingInModal
dans lemyFunction.js
est encore à l'original. Le point principal est que vous ne pouvez pas se moquer de quelque chose qui est créé directement dansmyFunction.js
. La seule chose que vous pouvez maquette sontmyFunction.js
commeimport clearSomethingInModal from 'clearSomethingInModal'
Ce sens que si vous pensez à ce sujet
myFunction.js
comme blackbox, où vous pouvez contrôler ce qui s'y passe, comme des importations ou des arguments de la fonction, et où vous pouvez tester ce sort. Mais vous ne pouvez pas tester le truc qui se passe à l'intérieur de la boîte.Voici deux exemples qui reflètent les 2 points dans la liste
myFunctions.test.js
myFunctions.js
myFunctions.test.js
myFunctions.js