12345678910111213141516171819202122232425262728293031323334353637383940 |
- import Vue from 'vue/dist/vue';
- import Element from 'main/index.js';
- Vue.use(Element);
- let id = 0;
- const createElm = function() {
- const elm = document.createElement('div');
- elm.id = 'app' + ++id;
- document.body.appendChild(elm);
- return elm;
- };
- /**
- * 创建一个 Vue 的实例对象
- * @param {Object} Compo 组件配置
- * @param {Boolean=false} mounted 是否添加到 DOM 上
- * @return {Object} vm
- */
- exports.createVue = function(Compo, mounted = false) {
- const elm = createElm();
- return new Vue(Compo).$mount(mounted === false ? null : elm);
- };
- /**
- * 创建一个测试组件实例
- * @link http://vuejs.org/guide/unit-testing.html#Writing-Testable-Components
- * @param {Object} Compo - 组件对象
- * @param {Object} propsData - props 数据
- * @param {Boolean=false} mounted - 是否添加到 DOM 上
- * @return {Object} vm
- */
- exports.createTest = function(Compo, propsData = {}, mounted = false) {
- const elm = createElm();
- const Ctor = Vue.extend(Compo);
- return new Ctor({ propsData }).$mount(mounted === false ? null : elm);
- };
|