В чем разница между mount Vue-Test-Utils и shallowMount?

Отказ от ответственности: я новичок в Vue, JavaScript и веб-фреймворках в целом.

Я пытаюсь ознакомиться с некоторыми базовыми модульными и компонентными тестами с использованием Jest и vue-test-utils.

Я прочитал документы по vue-test-utils 'mount () и shallowMount (), но я не уверен, когда использовать одно вместо другого (они кажутся очень похожими).

Согласно документам на shallowMount():

Как и mount, он создает оболочку, содержащую смонтированный и визуализированный компонент Vue, но с заглушенными дочерними компонентами.

Что именно подразумевается под «заглушенными дочерними компонентами»? Могут ли mount() и shallowMount() использоваться как взаимозаменяемые?


person AnonymousAngelo    schedule 09.11.2018    source источник


Ответы (1)


В документации под «заглушенными дочерними компонентами» подразумевается, что все компоненты тестируемого не будут отображаться. Вместо этого у вас будет компонент-заполнитель.

Это предотвратит заражение ваших тестов поведением других компонентов.

На мой взгляд, вы всегда должны монтировать компоненты неглубоко при выполнении модульных тестов и просто монтировать их при выполнении тестов во всем приложении.

person Thomas Ferro    schedule 09.11.2018
comment
Теперь я понимаю. На самом деле это довольно просто :) Большое спасибо за ваш ответ. - person AnonymousAngelo; 12.11.2018
comment
Классное объяснение, брат. Большое спасибо за ваши усилия - person izzatullokanoatov; 04.11.2020