Я пишу проект с vue cli3
и element-ui
, и я хочу добавить модульный тест для моих .vue
файлов и .js
файлов. Я связал событие щелчка openDialog
на <el-button>
, поэтому я хочу проверить, вызывается ли эта функция щелчка или нет. Но я не очень хорош в vue-test-unit
, поэтому все, что я пробовал, провалилось.
Вот мой код:
<el-button
type="mk-primary"
icon="el-icon-coordinate"
size="small"
@click="openDialog"
>filte</el-button>
import { shallowMount, createLocalVue } from '@vue/test-utils'
import Orders from '@/views/orders/index.vue'
import ElementUI from 'element-ui'
const localVue = createLocalVue()
localVue.use(ElementUI)
describe('Orders.vue', () => {
it('button click', () => {
const wrapper = shallowMount(Orders, {
localVue
})
const mockFn = jest.fn()
const elButton = wrapper.find({ name: 'ElButton' })
wrapper.setMethods({
openDialog: mockFn
})
// wrapper.vm.$on('openDialog', mockFn)
elButton.trigger('click')
expect(mockFn).toBeCalled()
expect(wrapper.find(elButton).exists()).toBe(true)
})
})
Заранее спасибо.