Vue Cypress コンポーネント テストでプラグインをコピーする
P粉725827686
2023-08-30 19:44:36
<p>Cypress を使用して Vue アプリケーションのコンポーネントをテストしています。 https://docs.cypress.io/guides/component-testing/vue/examples#Replicating-Plugins のコード例に従うと、以下に示すいくつかのエラーが発生します。
<pre class="brush:php;toolbar:false;">タイプ ' の引数 (この: コンテキスト、コンポーネント:
ComponentOptionsWithObjectProps<Readonly<ComponentPropsOptions<Data>>、不明、{}、
ComputedOptions, Record<string, Function>, ... さらに 7 ..., { ...; } | {}>, オプション?:
mountingoptions<...> | 未定義) => Chainable<...>' はタイプのパラメータに割り当てられません
'CommandFn<"mount">'。
Type 'Chainable<{ ラッパー: VueWrapper<ComponentPublicInstance<{ [x: 数値]: 不明; } & {
読み取り専用の長さ?: 数値 | Prop<不明、不明> | null | 未定義; 読み取り専用連結?:
Prop<unknown,unknown> | { (...items: ConcatArray<string>[]): string[]; (...items: (string | unknown>)
ConcatArray<...>)[]): string[]; } | null | undefin...' は型 'void | undefin...' に割り当てることができません。
Chainable<{ ラッパー:
VueWrapper>>、
不明、{}、ComputedOptions、...その他 6 ...、{}>>; コンポーネント: ComponentPublicInstance<...>;
}>'。
プロパティ 'global' はタイプ '[options?: mountingoptions<{ [x:number]:unknown; } には存在しません。
& { readonly length?:number | Prop<unknown,unknown> | null | unknown; readonly concat?:
Prop<unknown,unknown> | { (...items: ConcatArray<string>[]): string[]; (...items: (string | unknown>)
ConcatArray<...>)[]): string[]; } | null | unknown; ... さらに 12 個 ...; toLocale...'。
「Vapp」という名前が見つかりません。
この呼び出しに一致するオーバーロードはありません。
最後のオーバーロードにより次のエラーが発生しました。</pre>
<p>TypeScript を使用しています。誰かが実用的なコードスニペットを提供してもらえますか?私のコードは次のとおりです: </p>
<pre class="brush:php;toolbar:false;">import { createPinia } from "pinia";
i18n を「../../src/locales/i18n」からインポートします。
import { mount } から "cypress/vue";
"vue" から { h } をインポートします。
グローバルを宣言 {
名前空間サイプレス {
チェーン可能インターフェイス {
マウント: マウントの種類;
}
}
}
Cypress.Commands.add("マウント", (コンポーネント, ...args) => {
args.global = args.global || {};
args.global.plugins = args.global.plugins || [];
args.global.plugins.push(createPinia());
args.global.plugins.push(i18n);
return mount(() => {
return h(Vapp, {}, コンポーネント)
}, ...args);
});</pre>
<p>これを修正する方法を知っている人はいますか?テストで使用する場合、このマウント関数を呼び出すにはどうすればよいですか? </p>
私は Vue Test Utils 構文を使用してこの問題を解決しました。 /support/component.ts 内:
リーリー