vue.js - 如何测试组件触发“点击”更新数据属性?
问题描述
测试我的方法是否被调用的正确方法是什么?下面是一个简单的例子:
我的组件
<template>
<button ref="btn1" @click="doSomething('btn1')"></button>
</template>
<script>
export default {
data() {
return {
btn1: false,
};
},
methods: {
doSomething(btnId) {
this[btnId] = true;
},
},
};
</script>
我的测试
test('btn1 was clicked', async () => {
const btn1 = wrapper.findComponent({ ref: 'btn1' })
await btn1.trigger('click')
expect(wrapper.vm.btn1).toBeTruthy()
})
问题wrapper.vm.btn1
总是假的。我在这里做错了什么?
解决方案
尝试更改this[btnId] = true;
为this.btnId = true;
推荐阅读
- sql - SQL Server:日期时间存储为具有奇怪值的 Int
- python - ValueError:要解压的值太多(预期为 3)-WebServer
- c++ - c++,JSON,获取数组中的对象成员
- python - 通过函数陈述条件的正确方法
- angular - PrimeNG 表在值更改后保存选定的页面
- ios - Xcode 10 - 使用静态图像启动故事板
- sql - 如何使用 sql 的子字符串分隔值 Eg-Data 42ND-1000 W61ST-1000 TIFF-1000 THIR-1000 我想要之前的数据 - eg-42ND
- python - pandas 读取带有一些属性的 json 作为列表来分隔行
- arrays - 如何在mongodb中索引非唯一键?
- robotframework - 使用 data_format 选项时的格式值错误