我有一个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包装为函数
在这种情况下,请告知测试方法的正确方法是什么。谢谢!