diff --git a/packages/test-utils/src/mount.js b/packages/test-utils/src/mount.js index 0a0ef4128..acb787544 100644 --- a/packages/test-utils/src/mount.js +++ b/packages/test-utils/src/mount.js @@ -22,6 +22,10 @@ export default function mount(component, options = {}) { const _Vue = createLocalVue(options.localVue) + if (component.setup) { + component.render = component.setup() + } + const mergedOptions = mergeOptions(options, config) validateOptions(mergedOptions, component) diff --git a/test/specs/mount.spec.js b/test/specs/mount.spec.js index d9869c512..7002212ea 100644 --- a/test/specs/mount.spec.js +++ b/test/specs/mount.spec.js @@ -2,6 +2,7 @@ import Vue from 'vue' import { compileToFunctions } from 'vue-template-compiler' import { mount, createLocalVue } from '@vue/test-utils' import Component from '~resources/components/component.vue' +import CompositionAPI, { createElement } from '@vue/composition-api' import ComponentWithProps from '~resources/components/component-with-props.vue' import ComponentWithMixin from '~resources/components/component-with-mixin.vue' import ComponentAsAClass from '~resources/components/component-as-a-class.vue' @@ -413,6 +414,18 @@ describeRunIf(process.env.TEST_ENV !== 'node', 'mount', () => { expect(wrapper.findAll(ChildComponent).length).to.equal(1) }) + it('works with composition api plugin', () => { + const localVue = createLocalVue() + localVue.use(CompositionAPI) + const Comp = { + setup() { + return () => createElement('div', 'composition api') + } + } + const wrapper = mount(Comp, { localVue }) + expect(wrapper.html()).to.equal('