@vue/test-utils
- Version 2.4.2
- Published
- 1.48 MB
- 2 dependencies
- MIT license
Install
npm i @vue/test-utils
yarn add @vue/test-utils
pnpm add @vue/test-utils
Overview
Component testing utils for Vue 3.
Index
Variables
Functions
Classes
Interfaces
Type Aliases
Variables
variable config
const config: GlobalConfigOptions;
variable RouterLinkStub
const RouterLinkStub: any;
variable shallowMount
const shallowMount: < T, C = T extends ((...args: any) => any) | (new (...args: any) => any) ? T : T extends { props?: infer Props } ? DefineComponent< Props extends (infer PropNames)[] | readonly (infer PropNames)[] ? { [key in PropNames extends string ? PropNames : string]?: any } : Props > : DefineComponent, P extends ComponentProps<C> = ComponentProps<C>>( originalComponent: T, options?: ComponentMountingOptions<C, P>) => VueWrapper<any, ComponentPublicInstance<ComponentProps<C>, any>> & { LOOL: Exclude<P, ComponentProps<C>>;};
Functions
function createWrapperError
createWrapperError: <T extends object>( wrapperType: 'DOMWrapper' | 'VueWrapper') => T;
function disableAutoUnmount
disableAutoUnmount: () => void;
function enableAutoUnmount
enableAutoUnmount: (hook: (callback: () => void) => void) => void;
function flushPromises
flushPromises: () => Promise<unknown>;
function mount
mount: < T, C = T extends ((...args: any) => any) | (new (...args: any) => any) ? T : T extends { props?: infer Props } ? DefineComponent< Props extends (infer PropNames)[] | readonly (infer PropNames)[] ? { [key in PropNames extends string ? PropNames : string]?: any } : Props > : DefineComponent, P extends ComponentProps<C> = ComponentProps<C>>( originalComponent: T, options?: ComponentMountingOptions<C, P>) => VueWrapper< ComponentProps<C> & ComponentData<C> & ComponentExposed<C>, ComponentPublicInstance< ComponentProps<C>, ComponentData<C> & ComponentExposed<C> & Omit<P, keyof ComponentProps<C>> >> & { LOOL: Exclude<P, ComponentProps<C>> };
function renderToString
renderToString: < T, C = T extends ((...args: any) => any) | (new (...args: any) => any) ? T : T extends { props?: infer Props } ? DefineComponent< Props extends (infer PropNames)[] | readonly (infer PropNames)[] ? { [key in PropNames extends string ? PropNames : string]?: any } : Props > : DefineComponent>( originalComponent: T, options?: ComponentMountingOptions<C> & Pick<RenderMountingOptions<any>, 'attachTo'>) => Promise<string>;
Classes
class BaseWrapper
abstract class BaseWrapper<ElementType extends Node> implements WrapperLike {}
constructor
protected constructor(element: Node);
property element
readonly element: Node & { __vue_app__?: any; __vueParentComponent?: ComponentInternalInstance;};
property isDisabled
protected isDisabled: () => boolean;
property wrapperElement
protected readonly wrapperElement: Node & { __vue_app__?: any; __vueParentComponent?: ComponentInternalInstance;};
method attributes
attributes: { (): { [key: string]: string }; (key: string): string };
method classes
classes: { (): string[]; (className: string): boolean };
method exists
exists: () => boolean;
method find
find: { <K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper< HTMLElementTagNameMap[K] >; <K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper< SVGElementTagNameMap[K] >; <T extends Element = Element>(selector: string): DOMWrapper<T>; <T extends Node = Node>(selector: string | RefSelector): DOMWrapper<T>;};
method findAll
abstract findAll: { <K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper< HTMLElementTagNameMap[K] >[]; <K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper< SVGElementTagNameMap[K] >[]; <T extends Element>(selector: string): DOMWrapper<T>[]; (selector: string): DOMWrapper<Element>[];};
method findAllComponents
findAllComponents: { <T extends never>(selector: string): WrapperLike[]; <T extends DefinedComponent>(selector: T): VueWrapper< InstanceType<T>, any >[]; <T extends FunctionalComponent>(selector: T): DOMWrapper<Node>[]; <T extends FunctionalComponent>(selector: string): DOMWrapper<Element>[]; <T extends never>(selector: NameSelector): VueWrapper<unknown, any>[]; <T extends ComponentPublicInstance>(selector: any): VueWrapper<T, any>[]; <T extends never>(selector: any): WrapperLike[];};
method findAllDOMElements
protected findAllDOMElements: (selector: string) => Element[];
method findComponent
findComponent: { <T extends never>(selector: string): WrapperLike; < Props, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions >( selector: ComponentOptions<Props, RawBindings, D, C, M> ): VueWrapper< CreateComponentPublicInstance<Props, RawBindings, D, C, M>, any >; <T extends ComponentOptions>(selector: string): VueWrapper< T extends ComponentOptions< infer Props, infer RawBindings, infer D, infer C, infer M > ? CreateComponentPublicInstance<Props, RawBindings, D, C, M> : VueWrapper<CreateComponentPublicInstance, any>, any >; <T extends DefinedComponent>(selector: T): VueWrapper<InstanceType<T>, any>; <T extends FunctionalComponent>(selector: T): DOMWrapper<Node>; <T extends FunctionalComponent>(selector: string): DOMWrapper<Element>; <T extends never>(selector: RefSelector | NameSelector): VueWrapper< unknown, any >; <T extends ComponentPublicInstance>(selector: any): VueWrapper<T, any>; <T extends never>(selector: any): WrapperLike;};
method get
get: { <K extends keyof HTMLElementTagNameMap>(selector: K): Omit< DOMWrapper<HTMLElementTagNameMap[K]>, 'exists' >; <K extends keyof SVGElementTagNameMap>(selector: K): Omit< DOMWrapper<SVGElementTagNameMap[K]>, 'exists' >; <T extends Element = Element>(selector: string): Omit< DOMWrapper<T>, 'exists' >; <T extends Node = Node>(selector: string | RefSelector): Omit< DOMWrapper<T>, 'exists' >;};
method getComponent
getComponent: { <T extends never>(selector: string): Omit<WrapperLike, 'exists'>; <T extends DefinedComponent>(selector: T): Omit< VueWrapper<InstanceType<T>, any>, 'exists' >; <T extends FunctionalComponent>(selector: string | T): Omit< DOMWrapper<Element>, 'exists' >; <T extends never>(selector: RefSelector | NameSelector): Omit< VueWrapper<unknown, any>, 'exists' >; <T extends ComponentPublicInstance>(selector: any): Omit< VueWrapper<T, any>, 'exists' >; <T extends never>(selector: any): Omit<WrapperLike, 'exists'>;};
method getCurrentComponent
protected abstract getCurrentComponent: () => ComponentInternalInstance | void;
method getRootNodes
protected abstract getRootNodes: () => VueNode[];
method html
html: (options?: { raw?: boolean }) => string;
method isVisible
isVisible: () => boolean;
method setValue
abstract setValue: (value?: any) => Promise<void>;
method text
text: () => string;
method trigger
trigger: { ( eventString: DomEventNameWithModifier, options?: TriggerOptions ): Promise<void>; (eventString: string, options?: TriggerOptions): Promise<void>;};
class DOMWrapper
class DOMWrapper<NodeType extends Node> extends BaseWrapper<NodeType> {}
constructor
constructor(element: Node);
method find
find: { <K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper< HTMLElementTagNameMap[K] >; <K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper< SVGElementTagNameMap[K] >; <T extends Element = Element>(selector: string): DOMWrapper<T>; <T extends Node = Node>(selector: string | RefSelector): DOMWrapper<T>;};
method findAll
findAll: { <K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper< HTMLElementTagNameMap[K] >[]; <K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper< SVGElementTagNameMap[K] >[]; <T extends Element>(selector: string): DOMWrapper<T>[];};
method findAllComponents
findAllComponents: (selector: any) => any;
method getCurrentComponent
getCurrentComponent: () => import('vue').ComponentInternalInstance | undefined;
method getRootNodes
getRootNodes: () => import('./types').VueNode<NodeType>[];
method setValue
setValue: (value?: any) => Promise<void>;
class VueWrapper
class VueWrapper< VM = unknown, T extends ComponentPublicInstance = VM & ComponentPublicInstance> extends BaseWrapper<Node> {}
constructor
constructor( app: any, vm: ComponentPublicInstance, setProps?: (props: Record<string, unknown>) => void);
property element
readonly element: Element;
property vm
readonly vm: ComponentPublicInstance;
method emitted
emitted: { <T = unknown>(): Record<string, T[]>; <T = unknown[]>(eventName: string): T[];};
method exists
exists: () => boolean;
method findAll
findAll: { <K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper< HTMLElementTagNameMap[K] >[]; <K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper< SVGElementTagNameMap[K] >[]; <T extends Element>(selector: string): DOMWrapper<T>[];};
method getCurrentComponent
getCurrentComponent: () => any;
method getRootNodes
protected getRootNodes: () => VueNode[];
method isVisible
isVisible: () => boolean;
method props
props: { (): T['$props']; <Selector extends keyof T['$props']>( selector: Selector ): T['$props'][Selector];};
method setData
setData: (data: Record<string, unknown>) => Promise<void>;
method setProps
setProps: (props: T['$props']) => Promise<void>;
method setValue
setValue: (value: unknown, prop?: string) => Promise<void>;
method unmount
unmount: () => void;
Interfaces
interface MountingOptions
interface MountingOptions<Props, Data = {}> extends BaseMountingOptions<Props, Data> {}
Mounting options for
mount
andshallowMount
property attachTo
attachTo?: HTMLElement | string;
Specify where to mount the component. Can be a valid CSS selector, or an Element connected to the document.
See Also
https://test-utils.vuejs.org/api/#attachto
Type Aliases
type ComponentMountingOptions
type ComponentMountingOptions< T, P extends ComponentProps<T> = ComponentProps<T>> = Omit<MountingOptions<P, ComponentData<T>>, 'slots'> & { slots?: { [K in keyof ComponentSlots<T>]: WithArray< | ShimSlotReturnType<ComponentSlots<T>[K]> | string | VNode | (new () => any) | { template: string; } >; };} & Record<string, unknown>;
Package Files (12)
Dependencies (2)
Dev Dependencies (37)
- @rollup/plugin-commonjs
- @rollup/plugin-json
- @rollup/plugin-node-resolve
- @rollup/plugin-replace
- @rollup/plugin-typescript
- @types/js-beautify
- @types/node
- @typescript-eslint/eslint-plugin
- @typescript-eslint/parser
- @vitejs/plugin-vue
- @vitejs/plugin-vue-jsx
- @vitest/coverage-v8
- @vue/compat
- @vue/compiler-dom
- @vue/compiler-sfc
- @vue/server-renderer
- eslint
- eslint-config-prettier
- eslint-plugin-prettier
- husky
- jsdom
- jsdom-global
- lint-staged
- prettier
- reflect-metadata
- rollup
- tslib
- typescript
- unplugin-vue-components
- vite
- vitepress
- vitest
- vue
- vue-class-component
- vue-router
- vue-tsc
- vuex
Peer Dependencies (2)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@vue/test-utils
.
- Markdown[](https://www.jsdocs.io/package/@vue/test-utils)
- HTML<a href="https://www.jsdocs.io/package/@vue/test-utils"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 3885 ms. - Missing or incorrect documentation? Open an issue for this package.