web-dev-qa-db-fra.com

La différence entre "mount" et "shallowMount" de Vue-Test-Utils?

Avis de non-responsabilité: Je suis assez nouveau pour Vue, JavaScript et les cadres Web en général.

J'essaie de me familiariser avec quelques tests unitaires et composants de base en utilisant Jest et vue-test-utils.

J'ai lu les documents sur vue-test-utils ' mount () et shallowMount () , mais je ne sais pas quand utiliser l'un sur l'autre ( ils semblent très similaires).

Selon les documents sur shallowMount():

Comme mount, il crée un Wrapper qui contient le composant monté et rendu Vue, mais avec des composants enfants tronqués.

Qu'entend-on exactement par "composants enfants tronqués"? mount() et shallowMount() peuvent-ils être utilisés de manière interchangeable?

9
AnonymousAngelo

Ce que la documentation signifie par "composants enfants tronqués", c'est que tous les composants au sein du composant testé ne seront pas rendus. Au lieu de cela, vous aurez un composant d'espace réservé.

Cela empêche vos tests d'être parasités par les comportements des autres composants.

À mon avis, vous devez toujours monter vos composants peu profondément lorsque vous effectuez des tests unitaires, et simplement les monter lorsque vous effectuez des tests dans l'ensemble de votre application.

22
Thomas Ferro