diff --git a/docs/ja/README.md b/docs/ja/README.md index 48e242311..3d2617e7b 100644 --- a/docs/ja/README.md +++ b/docs/ja/README.md @@ -28,8 +28,9 @@ - [localVue](api/options.md#localvue) - [attachToDocument](api/options.md#attachtodocument) - [attrs](api/options.md#attrs) + - [propsData](api/options.md#propsdata) - [listeners](api/options.md#listeners) - - [parentComponent](api/options.md#parentComponent) + - [parentComponent](api/options.md#parentcomponent) - [provide](api/options.md#provide) - [sync](api/options.md#sync) - [その他のオプション](api/options.md#その他のオプション) diff --git a/docs/ja/api/options.md b/docs/ja/api/options.md index 932aee94c..685deeeba 100644 --- a/docs/ja/api/options.md +++ b/docs/ja/api/options.md @@ -10,8 +10,9 @@ - [`localVue`](#localvue) - [`attachToDocument`](#attachtodocument) - [`attrs`](#attrs) +- [`propsData`](#propsdata) - [`listeners`](#listeners) -- [`parentComponent`](#parentComponent) +- [`parentComponent`](#parentcomponent) - [`provide`](#provide) - [`sync`](#sync) @@ -202,6 +203,33 @@ expect(wrapper.vm.$route).toBeInstanceOf(Object) コンポーネントインスタンスの `$attrs` オブジェクトを設定します。 +## propsData + +- 型: `Object` + +コンポーネントがマウントされる時、コンポーネントインスタンスの props をセットします。 + +例: + +```js +const Component = { + template: '
{{ msg }}
', + props: ['msg'] +} +const wrapper = mount(Component, { + propsData: { + msg: 'aBC' + } +}) +expect(wrapper.text()).toBe('aBC') +``` + +::: 注意 +`propsData` は Vue Test Utils のマウンティングオプションではなく [Vue API](https://vuejs.org/v2/api/#propsData) です。 +この `propsData` は [`extends`](https://vuejs.org/v2/api/#extends) を内部で利用しています。 +詳しくは[その他のオプション](#その他のオプション)を参照してください。 +::: + ## listeners - 型: `Object` @@ -231,6 +259,25 @@ expect(wrapper.vm.$parent.$options.name).toBe('foo') コンポーネントに指定したプロパティを注入します。[provide/inject](https://vuejs.org/v2/api/#provide-inject) を参照してください。 +例: + +```js +const Component = { + inject: ['foo'], + template: '
{{this.foo()}}
' +} + +const wrapper = shallowMount(Component, { + provide: { + foo () { + return 'fooValue' + } + } +}) + +expect(wrapper.text()).toBe('fooValue') +``` + ## sync - 型: `boolean` diff --git a/docs/ja/api/shallowMount.md b/docs/ja/api/shallowMount.md index 6a3c24710..00a4f6ea3 100644 --- a/docs/ja/api/shallowMount.md +++ b/docs/ja/api/shallowMount.md @@ -90,7 +90,7 @@ describe('Foo', () => { foo: '
' } }) - expect(wrapper.find('div')).toBe(true) + expect(wrapper.contains('div')).toBe(true) }) }) ``` diff --git a/docs/ja/guides/common-tips.md b/docs/ja/guides/common-tips.md index f139cccc8..02b622e9f 100644 --- a/docs/ja/guides/common-tips.md +++ b/docs/ja/guides/common-tips.md @@ -131,6 +131,20 @@ mount(Component, { }) ``` +### スタブコンポーネント + +`stubs` オプションを使用して、グローバルまたはローカルに登録されたコンポーネントを上書きできます: + +```js +import { mount } from '@vue/test-utils' + +mount(Component, { + // globally-registered-component を空のスタブとして + // 解決します + stubs: ['globally-registered-component'] +}) +``` + ### ルーティングの扱い 定義によるルーティングは、アプリケーションの全体的な構造と関連し、複数のコンポーネントが関係するため、統合テストまたはエンドツーエンドテストによってよくテストされます。