Unit testing 如何测试vue Js metaInfo

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

我正在写一些单元测试,我有一个使用Vue meta的组件,其中包含meta信息集

我的组件看起来像这样

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