Copier le plugin dans le test du composant Vue Cypress
<p>J'utilise Cypress pour tester les composants de mon application Vue. Suivre les exemples de code sur https://docs.cypress.io/guides/component-testing/vue/examples#Replicating-Plugins produira plusieurs erreurs, comme indiqué ci-dessous : </p>
<pre class="brush:php;toolbar:false;">Argument de type '(ceci : Contexte, composant :
ComponentOptionsWithObjectProps<Readonly<ComponentPropsOptions<Data>>, inconnu, {},
ComputedOptions, Record<string, Function>, ... 7 plus ..., { ... } {}>, options ? :
MountingOptions<...> | non défini) => Chainable<...>'
'CommandFn<"monter">'.
Tapez 'Chainable<{ wrapper : VueWrapper<ComponentPublicInstance<{ [x : numéro] : inconnu } & {
longueur en lecture seule ? : nombre | Prop<inconnu, inconnu>
Prop<inconnu, inconnu> { (...éléments : ConcatArray<string>[]) : string[];
ConcatArray<...>)[]): string[]; } | null undefin...' n'est pas attribuable au type 'void |
Chainable<{ emballage :
VueWrapper<ComponentPublicInstance<ExtractPropTypes<Readonly<ComponentPropsOptions<Data>>>,
inconnu, {}, ComputedOptions, ... 6 autres ..., {}>> composant : ComponentPublicInstance<...>;
}>'.
La propriété 'global' n'existe pas sur le type '[options?: MountingOptions<{ [x: number]: inconnu }
& { longueur en lecture seule ? : nombre | Prop<inconnu, inconnu> non défini ;
Prop<inconnu, inconnu> { (...éléments : ConcatArray<string>[]) : string[];
ConcatArray<...>)[]): string[]; null |
Impossible de trouver le nom « Vapp ».
Aucune surcharge ne correspond à cet appel.
La dernière surcharge a donné l'erreur suivante.</pre>
<p>J'utilise TypeScript.Quelqu'un peut-il me fournir un extrait de code fonctionnel ? Mon code est le suivant : </p>
<pre class="brush:php;toolbar:false;">importer { createPinia } depuis "pinia" ;
importer i18n depuis "../../src/locales/i18n" ;
importer {mount} depuis "cypress/vue" ;
importer { h } depuis "vue" ;
déclarer global {
espace de noms Cyprès {
interface chaînable {
monture : type de monture ;
}
}
}
Cypress.Commands.add("mount", (composant, ...args) => {
args.global = args.global || {};
args.global.plugins = args.global.plugins ||
args.global.plugins.push(createPinia());
args.global.plugins.push(i18n);
return mount(() => {
retourner h (Vapp, {}, composant)
}, ...arguments);
});</pré>
<p>Est-ce que quelqu'un sait comment résoudre ce problème ? Comment appeler cette fonction de montage lorsque je l'utilise dans des tests ? </p>