Unit testing 如何测试vue Js metaInfo
我正在写一些单元测试,我有一个使用Vue meta的组件,其中包含meta信息集 我的组件看起来像这样Unit testing 如何测试vue Js metaInfo,unit-testing,vue.js,testing,jestjs,vue-component,Unit Testing,Vue.js,Testing,Jestjs,Vue Component,我正在写一些单元测试,我有一个使用Vue meta的组件,其中包含meta信息集 我的组件看起来像这样 export default { ... metaInfo () { const expertName = this.getBlogInfo.blog.author.trim() const fullName = expertName ? `${expertName.first_name} ${expertName.last_name}` : 'Cowsoko' r
export default {
...
metaInfo () {
const expertName = this.getBlogInfo.blog.author.trim()
const fullName = expertName ? `${expertName.first_name} ${expertName.last_name}` : 'Cowsoko'
return {
title: `Dairynomics - Blog post from ${fullName}`,
meta: [
{
vmid: 'og:description',
name: 'og:description',
content: this.description
},
{
vmid: 'og:image',
name: 'og:image',
content: this.getBlogInfo.blog.photo
}
]
}
}
…有一个问题说您需要创建一个本地Vue实例
您可以阅读有关本地Vue实例的信息。它允许您在不污染全局Vue类的情况下添加组件、混合模块和安装插件,即仅为该测试添加Vue meta
属性
从'@vue/test-utils'导入{shallowMount,createLocalVue}
从“./Component.vue”导入组件
从“vue meta”导入VueMeta
让localVue=createLocalVue();
localVue.use(VueMeta);
描述('Component.vue',function(){
//设置包装器
常量包装=浅装(组件)
它('有一个返回页面标题的getTitle()方法',()=>{
expect(wrapper.vm.getTitle()).toBe(title)
})
它('已正确设置其元标题',()=>{
expect(wrapper.vm.$meta().refresh().metaInfo.title).toBe('some title'))
})
})
您可以在每个组件中正常插入元数据。
如果你的页面是动态的,如果你想要任何动态SEO或元标记,你可以使用vue headful。
像这样
<vue-headful
title="Title from vue-headful"
description="Description from vue-headful"
/>
在vue headful中,您可以编写所有元标记。OP询问的是如何测试
vue meta
,而不是vue headful
。