使用 vue-test-utils / jest 触发 Quasar QBtn 点击

Posted

技术标签:

【中文标题】使用 vue-test-utils / jest 触发 Quasar QBtn 点击【英文标题】:Trigger Quasar QBtn click using vue-test-utils / jest 【发布时间】:2020-12-30 19:36:42 【问题描述】:

我正在尝试在 Jest 中模拟 quasar QBtn 组件的按钮单击(使用 vue-test-utils)。 我需要测试单击按钮时是否调用了@click方法,所以我做了以下操作

  it("Expects createAccount to be called", async () => 
    const button = wrapper.findComponent(QBtn);
    await button.trigger('click');

    expect(methods.createAccount).toBeCalled();
  )

我还使用jest.fn() 模拟了createAccount 函数 但是我总是得到 0 次函数调用,尽管如果我直接使用它就可以工作

wrapper.vm.createAccount()

然后检查函数是否被调用... 有什么想法可以触发 QBtn 上的点击事件吗?我也试过用find('button')触发点击,也没用

【问题讨论】:

【参考方案1】:

对于这些类型的测试,我使用cypress;我个人更喜欢用 jest 来测试方法、计算等......

【讨论】:

以上是关于使用 vue-test-utils / jest 触发 Quasar QBtn 点击的主要内容,如果未能解决你的问题,请参考以下文章

Vue-test-utils | Jest:如何处理依赖关系?

如何使用 Vue-test-utils 和 Jest 测试 Vuex 突变

如何在单元测试期间使用 vue-test-utils 和 jest 模拟 mixin?

带有 vue-test-utils 和 Jest 的 Vue.js 单元测试用例失败

无法在基于 jest 和 vue-test-utils 的测试项目中使用 vue.js 的 ES6 模块

如何使用 vue-test-utils 和 Jest 在 Nuxt 中对使用 vuex-module-decorators 语法定义的 Vuex 模块进行单元测试?