如何测试普通Vue组件(不是单个文件组件)

Anatol-用户3173842

所有这些尝试都引发错误:

var testUtils=require('@vue/test-utils'), Vue=require('vue');

require('jsdom-global')();    

testUtils.mount(Vue.component('test', {
  template:'<div>test</div>'
}));

testUtils.mount(Vue.component('test', {
  render:function(el) { return el('div', 'test'); }
}));

testUtils.mount({
  template:'<div>test</div>'
});

@ vue / test-utils / dist / vue-test-utils.js:2471

var componentInstance = node.child;

TypeError:无法读取未定义的属性“ child”

我也尝试过使用localVue,而不是mount来使用shallowMount,并尝试在全局注册Vue.options.components.test(以及我想到的其他一些东西)之后通过,但没有任何效果。

没有使用单一文件组件,webpack和/或其他使事情变得不必要且需要构建过程的技术,是否有任何方法可以测试vue组​​件?还是这仅仅是缺乏文档?

异教徒

您需要先加载DOM,然后再进行@vue/test-utils将代码更改为此:

require('jsdom-global')();    
var testUtils=require('@vue/test-utils'), Vue=require('vue');
// ...

Jest可能在需要Vue之前在某些脚本中加载了JSDOM,这就是为什么它可以在其中工作的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Vue单个文件组件,如何挂载多个?

测试使用全局事件总线的Vue单个文件组件

Jest在测试Vue单个文件组件时遇到意外令牌

vue-test-utils和jest:如何测试单个文件组件筛选器?

重构vue单个文件组件

如何使用赛普拉斯端到端快照测试来测试Vue单个文件组件

Vue单个文件组件:从子组件打印组件元素

Vue.js单文件组件与普通组件混合

如何在Vue的单个文件组件中使用TypeScript?

如何从javascript文件(而不是vue组件)调度动作?

如何从JavaScript文件(而不是Vue组件)获取vuex状态

Vue.js加载单个文件组件

Laravel 5.5的Vue单个文件组件

Vue.js-在单个文件组件中使用子组件

使用Browserify而不是单个文件组件单独包含Vue运行时

我如何使用单个 Chart.vue 组件而不是不同的图表组件,然后通过更改 API 的 id 来显示图表

如何使用Jest测试JSX Vue组件

内联单个文件组件

Vue 2 / Vue CLI 3:创建异步单个文件组件

从文件夹自动全局注册vue单个文件组件

Vue从多个文件中的单个.js文件拆分组件

在没有Vue CLI的情况下测试普通JavaScript Vue组件

如何在Vue单个文件组件中导入和使用图像?

Vue.js:如何在单个文件组件中指定道具?

如何保持vue.js单个文件组件在后台加载?

如何在单个 Vue 文件中添加两个组件进行导出?

如何使用Vue.js从单个文件组件中的方法访问计算属性

如何在单个文件组件中使用vue-datetime-picker

如何将TypeScript与Vue.js和单个文件组件一起使用?