Unit testing 如何使用jest对该vue组件进行单元测试
我有这个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
@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);
}
}
}
}
然后你也可以通过测试找到他们