У меня есть компонент Vue JS, который имеет несколько входов / подпорок, и один из них является функцией.Я использую его таким образом, вместо того, чтобы выдавать событие, когда действие происходит, поэтому, когда кнопка нажата, я отправляю уведомление родителю с помощью onClickAction
.Все работает нормально, за исключением того, что я не могу заставить работать модульный тест.
<button @click="clickAction()"></button>
====================================================
props: {
onClickAction: { type: Function, required: true }
},
methods: {
clickAction() {
this.onClickAction();
}
}
=========================================================== *
Тестовый файл:
let wrapper;
const spy = sinon.spy()
beforeEach(() => {
wrapper = shallowMount(WrapperComp, {
propsData: {
onClickAction: spy
}
});
});
it('Should call onClickAction when the button is clicked', () => {
sinon.spy(wrapper, 'clickAction');
wrapper.trigger('click');
expect(wrapper.clickAction).toHaveBeenCalled();
});
Ошибка:
Должен вызывать onClickAction при нажатии кнопки: TypeError: Попытка обернуть неопределенное свойство clickAction как функцию
Пожалуйста, сообщитекак правильно проверить метод в этом случае.Спасибо!