vue-test-utils + type dactylographié pour wrapper.vm
P粉054616867
P粉054616867 2023-12-26 13:38:11
0
1
534

Voici une question. Avoir utilisé typescript + vue-test-utils et essayé de manipuler les valeurs du test, par exemple : wrapper.vm.aCoolRefValueToManipulate = '更酷的东西'?

Eh bien, je l'ai essayé. Ça marche, mais le ts linter devient fou sur celui-là car il ne sait pas ce que c'est vm 中的 aCoolRefValueToManipulate.

Est-ce que quelqu'un sait comment résoudre ce problème ?

linter m'a dit :

Property 'showTopDown' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<{}>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch(source: string | Function, cb: Function, options?: WatchOptions<...> | undefined): WatchStopHandle; } & Readonly<...> & Sha...'.ts(2339)

Solution

Des gars sympas m'ont aidé sur le serveur officiel Vue Discord.

(wrapper.vm as any).aCoolRefValueToManipulate 

P粉054616867
P粉054616867

répondre à tous(1)
P粉476046165

Avons-nous un autre moyen d'accéder à wrapper.vm sans utiliser « any » ?

Je viens de trouver ce truc à essayer :

type TestWrapper<T> = VueWrapper<ComponentPublicInstance & T>
let wrapper: TestWrapper<Partial<{ myMethod: () => void }>>

wrapper.vm.myMethod?.()
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal