web-dev-qa-db-ja.com

Vue-Test-Utilsの「マウント」と「shallowMount」の違いは?

免責事項:私は、Vue、JavaScript、およびWebフレームワーク全般にかなり不慣れです。

私は、Jestとvue-test-utilsを使用して、いくつかの基本的なユニットおよびコンポーネントのテストに慣れようとしています。

_vue-test-utils_ 'のドキュメントを読んだことがあります mount() および shallowMount() 非常によく似ているように見えます)。

shallowMount()のドキュメントによると:

マウントと同様に、マウントされレンダリングされたVueコンポーネントを含むが、子コンポーネントがスタブ化されたWrapperを作成します。

「スタブされた子コンポーネント」とはどういう意味ですか? mount()shallowMount()は同じ意味で使用できますか?

9
AnonymousAngelo

「スタブ化された子コンポーネント」とは、テスト対象コンポーネント内のすべてのコンポーネントがレンダリングされないことを意味します。代わりに、プレースホルダーコンポーネントがあります。

これにより、他のコンポーネントの動作によってテストが寄生されるのを防ぎます。

私の意見では、単体テストを行うときは常にコンポーネントを浅くマウントし、アプリケーション全体でテストを行うときは単にコンポーネントをマウントする必要があります。

22
Thomas Ferro