【问题标题】:How to test a component trigger "click" updates a data property?如何测试组件触发“点击”更新数据属性?
【发布时间】:2020-12-27 09:42:26
【问题描述】:

测试我的方法是否被调用的正确方法是什么?下面是一个简单的例子:

我的组件

<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 总是false。我在这里做错了什么?

【问题讨论】:

    标签: vue.js vuejs2 jestjs vue-test-utils


    【解决方案1】:

    尝试将this[btnId] = true; 更改为this.btnId = true;

    【讨论】:

    • 请说明这是试图回答 OP 问题还是针对您遇到的问题提出的新问题
    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 2020-06-21
    • 2021-04-05
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多