🔬 Utilities for testing Vue components

Last update: Jun 28, 2022

Vue Test Utils Build Status

Vue Test Utils is the official testing library for Vue.js.

Packages

This repository provides the following two packages:

You can install these packages by the following command.

npm install --save-dev @vue/test-utils
npm install --save-dev @vue/server-test-utils

Peer Dependencies

You need to install vue-template-compiler which is used to compile components. It should be the same version as the version of Vue you are using.

npm install --save-dev vue-template-compiler

Documentation

Refer to the documentation

Questions

For questions and support please use the Discord chat room or the official forum. The issue list of this repo is exclusively for bug reports and feature requests.

Issues

Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.

Contribution

Please make sure to read the Contributing Guide before making a pull request.

Changelog

Changes for each release are documented in the release notes.

Stay In Touch

For the latest releases and announcements, follow on Twitter: @vuejs

License

MIT

GitHub

https://github.com/vuejs/vue-test-utils
Comments
  • 1. Design / Roadmap

    Following the forum thread, using this issue to kick off work on an official unit testing utility lib. We are planning to built on top of @eddyerburgh 's Avoriaz, since it seems to be the most mature one currently, and Edd has kindly offered to work on it. Of course, we would also like to pull in ideas from other community solutions and make this a collaborative effort, so I'm pinging some community members that might also be interested in contributing here: @callumacrae, @asselin, @jackmellis, @codebryo, @BosNaufal.

    I think the first step is outlining what feature set we are aiming for - here's some high level goals:

    • Two rendering modes: deep, real DOM vs. shallow, virtual DOM
    • Both modes with ideally the same traversal / event simulation / assertion API
    • Ability to easily stub component assets / router / store
    • Ability to output a serialized snapshot for Jest snapshot testing
    • Test runner agnostic

    in the meanwhile, feel free to provide general feedback on some of the needs you've run into while unit testing Vue.

    Also @vuejs/collaborators for any potential input.

    Reviewed by yyx990803 at 2017-05-28 12:03
  • 2. How to use typescript correctly?

    I'm not sure if this issue belongs to this project. However, I'm using vue-test-utils since the beginning (even when its name was Avoriaz). But I have some issue to use SFC with typescript and Jest. I was wondering if you planned to write more documentation about which test runners or libs we should use to work properly with Typescript + Jest + Vue-test-utils?

    Thank you!

    Reviewed by kimond at 2017-12-12 16:20
  • 3. v1.1.4 regression

    Subject of the issue

    After upgrading from v1.1.3 to v1.1.4 some tests have started to fail.

    Steps to reproduce

    const wrapper = mount(MyComponent, {
      propsData: {
        items: [
          { name: 'woof' },
          { name: 'bork' }
        ]
      }
    });
    
    const items = wrapper.findAllComponents({ name: 'MyComponentItem' });
    const firstItem = wrapper.at(0);
    //                           ^--- [vue-test-utils]: no item exists at 0
    
    // ...
    

    Expected behaviour

    Tests should pass as it was before the upgrade.

    Actual behaviour

    Tests failed.

    Possible Solution

    Downgrade to v1.1.3.

    Reviewed by Ky6uk at 2021-04-12 12:47
  • 4. Rethink find; simplify, or split find into find and findComponent

    Following up this discussion here: https://github.com/vuejs/vue-test-utils/issues/1490. Read that for context!

    I think we should consider splitting find into two methods.

    • find. This will only work for DOM nodes. It will use the querySelector syntax.
    • findComponent. This can find a Vue component. By ref, name, etc.

    Usage

    • find("#foo")
    • findComponent(Bar)
    • findComponent(Bar).findComponent(Foo)
    • findComponent(Bar).find("#foo")
    • find("#foo").findComponent(Bar)

    The reason I think we should split these is they are really different. One is searching the DOM for nodes; the other is searching for vnodes in Vue's virtual dom. I think this would remove a lot of caveats and simplify things.

    I think not allowing them to mix will make tests more simple. Simple is good. findComponent tells the reader you are interested in the component; find shows you are interested in the DOM and what is rendered.

    We can either make this change now (with a deprecation warning) to be removed in v1 (hopefully soon). Alternatively, we keep this current behavior, and for v2 (which will be Vue 3 support) we change to this new API.

    As an aside, I would be in favor of making findComponent more simple - currently you can find by name/ref/component... can we just pick one? Rather than go with the classic Perl motto "There is more than one way to do things" I much prefer the Python motto "There should be one-- and preferably only one --obvious way to do it". Anyway, let's focus on the splitting of the APIs for now.

    Reviewed by lmiller1990 at 2020-04-06 23:42
  • 5. @click event cannot be tested with a find-trigger function in Jest

    Version

    1.0.0-beta.19

    Reproduction link

    https://codesandbox.io/s/2vlyrzkm1p

    Steps to reproduce

    The next test in jest does not work with the code in the example:

    it('calls the toggleVisibility method when clicking', () => {
        wrapper = shallowMount(App)
        wrapper.vm.toggleVisibility = jest.fn()
    
        wrapper
          .find('.unread-messages')
          .trigger('click')
    
        expect(wrapper.vm.toggleVisibility).toHaveBeenCalledTimes(1)
      })
    

    Only if click is changed click.self does the test work, but in that case no component inside can be clicked (and that's what I want to achieve)

    What is expected?

    The test pass whether click or click.self is wrote.

    What is actually happening?

    The test fails.


    A console.log of the wrapper shows that it has the class in the wrapper, so it should be found and triggered.

    Reviewed by TheoSl93 at 2018-08-17 09:11
  • 6. New type definitions for TypeScript are missed

    Version

    1.0.0

    It looks index.d.ts isn't updated yet. After upgrading to v1.0.0 I started to get deprecation errors, but methods like findAllComponents and findComponent are missed in index.d.ts.

    Reviewed by Ky6uk at 2020-05-05 14:34
  • 7. Explain what the replacement for deprecations are

    What problem does this feature solve?

    The documentation for for example setMethods is unclear. It simply states: "setMethods is deprecated and will be removed in future releases.". Same goes for isVueInstance.

    This does not explain what the replacement (if any) should be, or why this was deprecated.

    These types of warnings also happens when running the tests: "[vue-test-utils]: overwriting methods via the methods property is deprecated and will removed in the next major version"

    Here it's also unclear what the fix should be or why this was deprecated.

    What does the proposed API look like?

    Not applicable.

    Reviewed by Wmaarts at 2020-05-11 13:02
  • 8. `Vue.nextTick()` required with transitions.

    Version

    1.0.0-beta

    Reproduction link

    https://github.com/autumnwoodberry/vtu

    Steps to reproduce

    Nest some v-if:

    <transition>
      <div v-if="a">
        <transition v-if="b"></transition>
        <transition v-if="!b"></transition>
      </div>
    </transition>
    
    test('output', () => {
        wrapper.setData({
          a: true,
          b: true
        });
    
        expect(wrapper.vm.a).toBe(true)
        expect(wrapper.vm.b).toBe(true)
        expect(wrapper.html()).toMatchSnapshot()
    })
    

    What is expected?

    wrapper.html() returns the updated markup.

    What is actually happening?

    wrapper.html() returns outdated markup unless the test is changed to:

    test('output', () => {
        wrapper.setData({
          a: true,
          b: true
        });
    
        expect(wrapper.vm.a).toBe(true)
        expect(wrapper.vm.b).toBe(true)
        Vue.nextTick(() => {
          expect(wrapper.html()).toMatchSnapshot()
        })
    })
    
    Reviewed by autumnwoodberry at 2017-09-29 01:54
  • 9. To do before release

    Hi guys, vue-test-utils has been in beta for a couple months now, and the feedback we've got has been really helpful.

    There are a few things left to do before we release 1.0.0:

    • [x] ~~Add deprecation notice to hasClass, hasAttribute, and hasProp, in favor of classes, attributes, and props~~
    • [x] Add support for async components via Code Splitting #61
    • [x] ~~Fix bug with keyed transitions~~ #52
    • [x] ~~Add docs for testing components that have asynchronous calls #151~~
    • [x] ~~Add support for inheritAttrs #146~~
    • [x] ~~Add support for testing scoped slots #156~~
    • [x] ~~Improve support for vue.extends #248~~
    • [x] ~~Improve find to find Vue components without names~~
    • [x] ~~Handle functional components in find~~ #296
    • [x] ~~Add setChecked, setValue, and setSelected methods~~ #530
    • [ ] Improve support for extended components
    • [ ] Improve scopedSlots option. Issue #809
    • [ ] Fix synchronous bugs

    If anyone has any additional items they think should be added to the list, leave a comment 🙂

    Reviewed by eddyerburgh at 2017-12-09 17:10
  • 10. remove setComputed

    The setComputed method changes the value of computed properties permanently.

    That means the instance is in a state that is impossible to reach in production. This could lead to bugs that slip through tests because a component behaves differently in tests versus production.

    What do people think?

    Reviewed by eddyerburgh at 2018-01-05 11:32
  • 11. Mock $refs

    It would be useful to be able to mock $refs.

    Currently, as far as I understand there is no way to test a method that calls a childs methods via $refs.

    methodToTest ( ) {
      this.a = 1
      this.$refs.childComponent.childsMethod()
    }
    ---
    undefined is not an object (evaluating 'this.$refs.childComponent.childsMethod')
    
    Reviewed by charliekassel at 2017-12-15 18:19
  • 12. Test computed property getter/setter

    My component get props and have computed property by props. And I have method with fetch where i call setter with $emit computed. All works but in test I have error

    Child component

    export default {
      props:{
        listProductDictionaries:{
          type: Array,
          required: true
        },
      },
      computed:{
        listProductDictionariesComputed:{
          get() { return this.listProductDictionaries },
          set(val) { this.$emit('update:listProductDictionaries', val) }
        },
      },
      methods:{
        onSelectTypeTarget(value){
          fetch(`/api/target_audiences/${value.id}`)
          .then((response) => {
            return response.json().then((data) => {
              this.listProductDictionariesComputed = data
            })
            .catch(err => console.log(err))
          });
        },
      },
    }
    

    Parent component

    <MaterialInfo
                 :list-product-dictionaries.sync="listProductDictionaries"
             />
    

    Test spec

    import {createLocalVue, shallowMount} from "@vue/test-utils"
    import MaterialInfo from '../../assets/components/MaterialInfo'
    import fetchMock from 'jest-fetch-mock'
    fetchMock.enableMocks()
    
    const localVue = createLocalVue()
    
    describe('testing component', () => {
        let wrapper;
        beforeEach(() => {
    
            wrapper = shallowMount(MaterialInfo,
                {
                    localVue,
                    propsData: {
                        listProductDictionaries: [],
                    },
                })
        })
        test('test fetch get "selectTypeTarget"', done => {
            fetchMock.mockResponseOnce(JSON.stringify({ data: ['value'] }), { status: 200, headers: { 'content-type': 'application/json' } });
            let value = {
                id: '91f60c16-83db-4fc5-8da5-967dc89cb47e'
            }
    
            wrapper.vm.onSelectTypeTarget(value.id)
            wrapper.vm.$nextTick(() => {
                expect(wrapper.vm.listProductDictionariesComputed).toBe(['value'])
                done();
            });
        })
    })
    

    ERROR IN TEST Expected: "['value']" Received: []"

    Maybe I'm doing something wrong, tell me how to do it right

    Reviewed by CapInSpase at 2022-06-29 12:42
  • 13. eslint-disable-next-line comment breaks wrapper.classes method

    Subject of the issue

    <template>
      <!-- eslint-disable-next-line vue/no-restricted-syntax -->
      <q-item class="item">
     </q-item>
    </template>
    
      const wrapper = mount(Component);
      console.log(wrapper.classes());
    

    Returns empty array. Removing "eslint-disable-next-line" restores normal behavior

    Steps to reproduce

    If the above sample is not enough I'll add repro repo.

    Expected behaviour

    Comment should not break classes method.

    Reviewed by ilyub at 2022-06-25 20:56
  • 14. build(deps): bump jsdom from 16.3.0 to 16.7.0

    Bumps jsdom from 16.3.0 to 16.7.0.

    Release notes

    Sourced from jsdom's releases.

    Version 16.7.0

    • Added AbortSignal.abort(). (ninevra)
    • Added dummy x and y properties to the return value of getBoundingClientRect(). (eiko)
    • Implemented wrapping for textareaEl.value if the wrap="" attribute is specified. (ninevra)
    • Changed newline normalization in <textarea>s according to recent HTML Standard updates. (ninevra)
    • Fixed some bad cascade computation in getComputedStyle(). (romain-trotard)

    Version 16.6.0

    • Added parentNode.replaceChildren(). (@​ninevra)
    • Fixed jsdom's handling of when code running inside the jsdom throws null or undefined as an exception. (@​mbest)
    • Removed the dependency on the deprecated request package, in the process fixing several issues with the XMLHttpRequest implementation around header processing. Thanks go to @​tobyhinloopen, @​andrewaylett, and especially @​vegardbb, for completing this months-long effort!

    Version 16.5.3

    • Fixed infinite recursion when using MutationObservers to observe elements inside a MutationObserver callback.

    Version 16.5.2

    • Fixed Access-Control-Allow-Headers: * to work with XMLHttpRequest. (silviot)
    • Fixed xhr.response to strip any leading BOM when xhr.responseType is "json".
    • Fixed new Text() and new Comment() constructors to properly set the resulting node's ownerDocument.
    • Fixed customElements.whenDefined() to resolve its returned promise with the custom element constructor, per recent spec updates. (ExE-Boss)
    • Fixed parsing to ensure that <svg>\<template></template></svg> does not throw an exception, but instead correctly produces a SVG-namespace \<template> element.
    • Fixed domParser.parseFromString() to treat <noscript> elements appropriately.
    • Fixed form control validity checking when the control was outside the <form> element and instead associated using the form="" attribute.
    • Fixed legendEl.form to return the correct result based on its parent <fieldset>.
    • Fixed optionEl.text to exclude <script> descendants.
    • Fixed radio buttons and checkboxes to not fire input and change events when disconnected.
    • Fixed inputEl.indeterminate to reset to its previous value when canceling a click event on a checkbox or radio button.
    • Fixed the behavior of event handler attributes (e.g. onclick="...code...") when there were global variables named element or formOwner. (ExE-Boss)
    • On Node.js v14.6.0+ where WeakRefs are available, fixed NodeIterator to no longer stop working when more than ten NodeIterator instances are created, and to use less memory due to inactive NodeIterators sticking around. (ExE-Boss)

    Version 16.5.1

    • Fixed a regression that broke customElements.get() in v16.5.0. (fdesforges)
    • Fixed window.event to have a setter which overwrites the window.event property with the given value, per the specification. This fixes an issue where after upgrading to jsdom v16.5.0 you would no longer be able to set a global variable named event in the jsdom context.

    Version 16.5.0

    • Added window.queueMicrotask().
    • Added window.event.
    • Added inputEvent.inputType. (diegohaz)
    • Removed ondragexit from Window and friends, per a spec update.
    • Fixed the URL of about:blank iframes. Previously it was getting set to the parent's URL. (SimonMueller)
    • Fixed the loading of subresources from the filesystem when they had non-ASCII filenames.
    • Fixed the hidden="" attribute to cause display: none per the user-agent stylesheet. (ph-fritsche)
    • Fixed the new File() constructor to no longer convert / to :, per a pending spec update.
    • Fixed mutation observer callbacks to be called with the MutationObserver instance as their this value.
    • Fixed <input type=checkbox> and <input type=radio> to be mutable even when disabled, per a spec update.
    • Fixed XMLHttpRequest to not fire a redundant final progress event if a progress event was previously fired with the same loaded value. This would usually occur with small files.
    • Fixed XMLHttpRequest to expose the Content-Length header on cross-origin responses.
    • Fixed xhr.response to return null for failures that occur during the middle of the download.
    • Fixed edge cases around passing callback functions or event handlers. (ExE-Boss)
    • Fixed edge cases around the properties of proxy-like objects such as localStorage or dataset. (ExE-Boss)

    ... (truncated)

    Changelog

    Sourced from jsdom's changelog.

    16.7.0

    • Added AbortSignal.abort(). (ninevra)
    • Added dummy x and y properties to the return value of getBoundingClientRect(). (eiko)
    • Implemented wrapping for textareaEl.value if the wrap="" attribute is specified. (ninevra)
    • Changed newline normalization in <textarea>s according to recent HTML Standard updates. (ninevra)
    • Fixed some bad cascade computation in getComputedStyle(). (romain-trotard)

    16.6.0

    • Added parentNode.replaceChildren(). (ninevra)
    • Fixed jsdom's handling of when code running inside the jsdom throws null or undefined as an exception. (mbest)
    • Removed the dependency on the deprecated request package, in the process fixing several issues with the XMLHttpRequest implementation around header processing. Special thanks to vegardbb for completing this months-long effort!

    16.5.3

    • Fixed infinite recursion when using MutationObservers to observe elements inside a MutationObserver callback.

    16.5.2

    • Fixed Access-Control-Allow-Headers: * to work with XMLHttpRequest. (silviot)
    • Fixed xhr.response to strip any leading BOM when xhr.responseType is "json".
    • Fixed new Text() and new Comment() constructors to properly set the resulting node's ownerDocument.
    • Fixed customElements.whenDefined() to resolve its returned promise with the custom element constructor, per recent spec updates. (ExE-Boss)
    • Fixed parsing to ensure that <svg>\<template></template></svg> does not throw an exception, but instead correctly produces a SVG-namespace \<template> element.
    • Fixed domParser.parseFromString() to treat <noscript> elements appropriately.
    • Fixed form control validity checking when the control was outside the <form> element and instead associated using the form="" attribute.
    • Fixed legendEl.form to return the correct result based on its parent <fieldset>.
    • Fixed optionEl.text to exclude <script> descendants.
    • Fixed radio buttons and checkboxes to not fire input and change events when disconnected.
    • Fixed inputEl.indeterminate to reset to its previous value when canceling a click event on a checkbox or radio button.
    • Fixed the behavior of event handler attributes (e.g. onclick="...code...") when there were global variables named element or formOwner. (ExE-Boss)
    • On Node.js v14.6.0+ where WeakRefs are available, fixed NodeIterator to no longer stop working when more than ten NodeIterator instances are created, and to use less memory due to inactive NodeIterators sticking around. (ExE-Boss)

    16.5.1

    • Fixed a regression that broke customElements.get() in v16.5.0. (fdesforges)
    • Fixed window.event to have a setter which overwrites the window.event property with the given value, per the specification. This fixes an issue where after upgrading to jsdom v16.5.0 you would no longer be able to set a global variable named event in the jsdom context.

    16.5.0

    • Added window.queueMicrotask().
    • Added window.event.
    • Added inputEvent.inputType. (diegohaz)
    • Removed ondragexit from Window and friends, per a spec update.
    • Fixed the URL of about:blank iframes. Previously it was getting set to the parent's URL. (SimonMueller)
    • Fixed the loading of subresources from the filesystem when they had non-ASCII filenames.
    • Fixed the hidden="" attribute to cause display: none per the user-agent stylesheet. (ph-fritsche)
    • Fixed the new File() constructor to no longer convert / to :, per a pending spec update.
    • Fixed mutation observer callbacks to be called with the MutationObserver instance as their this value.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2022-06-23 04:40
  • 15. test utils coverage report broken for Vue2 projects

    Version

    1.3.0

    Reproduction link

    github.com

    Steps to reproduce

    create a vue2 app with Jest unit testing with vue create add collectCoverage: true in jest.config.js write a method in the HelloWorld.vue component. Do not write a unit test for it. yarn test:unit jest will falsely report 100% code coverage in its reporting.

    What is expected?

    coverage report under 100% for untested code.

    What is actually happening?

    While test are running and pass/failing appropriately, none of the code within the export default{} block of components is being counted in the code coverage report, always resulting in a 100% coverage report.


    Reviewed by MikeOverbeck at 2022-05-28 21:05
  • 16. Update README.md

    What kind of change does this PR introduce? (check at least one)

    • [ ] Bugfix
    • [ ] Feature
    • [x] Code style update
    • [ ] Refactor
    • [ ] Build-related changes
    • [ ] Other, please describe:

    Does this PR introduce a breaking change? (check one)

    • [ ] Yes
    • [x] No

    If yes, please describe the impact and migration path for existing applications:

    The PR fulfills these requirements:

    • [ ] It's submitted to the dev branch.
    • [ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
    • [ ] All tests are passing: https://github.com/vuejs/vue-test-utils/blob/dev/.github/CONTRIBUTING.md#development-setup
    • [ ] New/updated tests are included

    If adding a new feature, the PR's description includes:

    • [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

    Other information:

    Reviewed by aichukanov at 2022-05-23 14:18
  • 17. Refine package exports to fix Jest 28 out of box compatibility

    Currently, @vue/test-utils doesn't work with Jest v28 + JSDOM out of the box, requiring the following workaround to prevent trying to read the browser export where CJS is expected:

    jest.config.js

    moduleNameMapper: {
    	'^@vue/test-utils$': require.resolve('@vue/test-utils'),
    },
    

    Cleanup

    What should be cleaned up or changed: Refine the package.json exports declarations for the browser to offer the ESM and CJS editions in case of import and require being used. To do so would allow the package to work out of the box with Jest v28 + jest-environment-jsdom

    Provide any links for context:

    Reviewed by riovir at 2022-05-23 13:29
Related tags
Component testing utilities for Vue.js

VueUnit A library for Vue.js that makes it easier to create and unit test components. Easily test props, events, and slots (including named slots) Opt

Jun 9, 2022
Vue Unit Test Helpers for server-side testing of client-side code

vuenit Vue Unit Test Helpers Vuenit is a testing utility that offers a number of useful methods to make testing Vue applications easier: Easily mount

Dec 8, 2021
Split Testing for Vue.js

vue-a2b split testing for Vuejs Usage Add the package to your project: yarn add vue-a2b # or npm install vue-a2b …and register it to Vue: import VueAB

May 26, 2022
A tool for testing and debugging your Vue + Vuex applications.
A tool for testing and debugging your Vue + Vuex applications.

A tool for testing and debugging your Vue + Vuex applications.

Jun 17, 2022
Component testing utils for Vue 3

Vue Test Utils Component testing utils for Vue 3. Installation and Usage yarn: yarn add @vue/test-utils --dev npm: npm install @vue/test-utils --save-

Jun 29, 2022
✅ Unit testing Vuex actions with Jest mocks.

✅ Vue Test Actions Unit testing Vuex actions with Jest mocks. ?? Install npm i --save vue-test-actions or yarn add vue-test-actions ?? Usage import te

Feb 25, 2021
🎉Front end of Sonic cloud real machine testing platform.
🎉Front end of Sonic cloud real machine testing platform.

?? Front end of Sonic cloud real machine testing platform English | 简体中文 Official Website Sonic Official Website Background What is sonic ? Nowadays,

Jun 30, 2022
Testing utils for Vuex

This is a collection of test utilities for vuex. For actions you can check if things are commited or dispatched, and what their payload was.

Nov 28, 2020
Simple testing tools for vuejs

Simple testing tools for vuejs

Jun 27, 2022
Jest Serializer for Vue components
Jest Serializer for Vue components

jest-serializer-vue-tjw Jest Vue snapshot serializer Logo made by Aurora Wooton (age 14) Quotes: "This looks fantastic! This might sell me on testing.

Jun 20, 2022
Vue test selectors made easy
Vue test selectors made easy

Vue Hubble makes it simple to add selectors (only in your testing environment) and target component elements in tests without worrying about collisions, extraneous classes, etc.

Jan 9, 2022
Additional jest matchers for vue

jest-vue-matcher Additional jest matchers for vue Install yarn add jest-vue-matcher -D Setup import { mount } from '@vue/test-utils' import matchers

Dec 10, 2021
Simple Vue App - made for aveonline test

This template should help get you started developing with Vue 3 in Vite.

Mar 4, 2022
Utilities for testing Vue.js components using Jest

vue-jest-utils Utilities for testing Vue.js components using Jest. While written in TypeScript (and thus including type definitions), it can also be u

Feb 23, 2022
🔬 Utilities for testing Vue components

Vue Test Utils Vue Test Utils is the official testing library for Vue.js. Packages This repository provides the following two packages: Vue Test Utils

Jun 28, 2022
Component testing utilities for Vue.js

VueUnit A library for Vue.js that makes it easier to create and unit test components. Easily test props, events, and slots (including named slots) Opt

Jun 9, 2022
Frappe-ui - A set of components and utilities for rapid UI development

Frappe UI A set of components and utilities for rapid UI development. Frappe UI

Jun 23, 2022
Vue Use Utilities build on top of vue-demi & @vue/compostion-api

Vue Use Utilities Vue Use Utilities build on top of vue-demi & @vue/compostion-api. It works both for Vue 2 & 3. ✨ Features ?? Composable Utilities ??

Jul 1, 2022
Collection of essential Vue Composition Utilities for Vue 2 and 3
Collection of essential Vue Composition Utilities for Vue 2 and 3

Collection of essential Vue Composition Utilities ?? Features ?? Interactive docs & demos ?? Seamless migration: Works for both Vue 3 and 2 ⚡ Fully tr

Jun 23, 2022
Vue LaunchDarkly plugin and routing utilities

Vue LaunchDarkly A simple wrapper around the js-client-sdk that provides observable feature flags, a ready state to ensure all feature flags are up to

Jun 7, 2022