Jest Vue,测试触发点击按钮,预期 1,收到:0
Posted
技术标签:
【中文标题】Jest Vue,测试触发点击按钮,预期 1,收到:0【英文标题】:Jest Vue, test trigger click button, Expected 1, received: 0 【发布时间】:2020-02-07 00:07:00 【问题描述】:我对触发点击的单元测试有问题。错误:预期:1,收到:0 我正在使用 Vue、Jest 和 Vue 测试工具。我想测试一下按钮是否被触发
搜索.vue
<v-btn id="searchBtn" @click="searchItem"></v-btn>
methods:
searchItem()
...
test.spec.js
import Search from '...'
describle(Search, () =>
it('trigger button', () =>
const wrapper = shallowMount(Search)
const clickMethodStub = jest.fn()
wrapper.setMethods( searchItem: clickMethodStub )
wrapper.find('#searchBtn').trigger('click')
expect(clickMethodStub.mock.calls.length).toBe(1)
)
)
错误: 预期:1 收到:0
【问题讨论】:
能否请您发布您的 wrapper.html()? 【参考方案1】:因为是vuetify按钮,所以需要用到shallowMount
到mount
。
import Search from '...'
describle(Search, () =>
it('trigger button', () =>
const wrapper = mount(Search)
const clickMethodStub = jest.fn()
wrapper.setMethods( searchItem: clickMethodStub )
wrapper.find('#searchBtn').trigger('click')
expect(clickMethodStub.mock.calls.length).toBe(1)
)
)
【讨论】:
以上是关于Jest Vue,测试触发点击按钮,预期 1,收到:0的主要内容,如果未能解决你的问题,请参考以下文章
在 vue-multiselect 中测试 vuex 操作时调用了 Jest 预期的模拟函数