Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 如何使用jest对该vue组件进行单元测试_Unit Testing_Vue.js_Jestjs - Fatal编程技术网

Unit testing 如何使用jest对该vue组件进行单元测试

Unit testing 如何使用jest对该vue组件进行单元测试,unit-testing,vue.js,jestjs,Unit Testing,Vue.js,Jestjs,我有这个vue组件,我想通过我的单元测试文件访问它的方法: @Component export default class Breadcrumb extends Vue { breadcrumbList: BreadcrumbData[] = []; mounted(): void { this.breadcrumbList = (this.$route.meta .breadcrumb as BreadcrumbData[]).concat({ na

我有这个vue组件,我想通过我的单元测试文件访问它的方法:

@Component
export default class Breadcrumb extends Vue {

  breadcrumbList: BreadcrumbData[] = [];

  mounted(): void {
    this.breadcrumbList = (this.$route.meta
      .breadcrumb as BreadcrumbData[]).concat({
      name: this.$route.name as string | undefined
    });
  }

  goTo(breadcrumb: BreadcrumbData) {
    if (breadcrumb.link) {
      this.$router.push(breadcrumb.link as RawLocation);
    }
  }
}
我在网上找到的所有教程都使用不同的语法来构建组件

export default {
    props: { ... },
    data: { ... },
    methods: {
        doSomeWork: function() {
            ...
        }
    }
}
然后通过

const wrap = mount(DummyComp);
wrap.vm.doSomeWork();
但当我尝试使用相同的语法时,我得到:
类型“CombinedVueInstance”上不存在属性“goTo”


有人能告诉我如何访问组件的方法吗?

首先,您应该在
方法
属性中定义函数。还包括
数据
函数内的组件范围变量。 像这样:

导出默认类面包屑扩展Vue{
数据(){
返回{
面包屑列表:[]
}
},
mounted():void{
...
},
方法:{
转到(面包屑:面包屑数据){
if(breadcrumb.link){
这是$router.push(breadcrumb.link作为RawLocation);
}
}
}
}

然后你也可以通过测试找到他们