在测试我的新Vuejs项目时,我遇到了由道具验证引起的问题。
我的所有具有适当模拟数据的测试,从组件传递验证器。
我想测试情况,然后嘲笑wrong data
并将其传递给组件。我知道,当组件的validator
返回false
时,vue.common.js
console.error。
console.error node_modules/vue/dist/vue.common.js:576
[Vue warn]: Invalid prop: custom validator check failed for prop "SOMETHING".
我想在玩笑测试中捕获这个错误,但是下面的方法都没有尝试过:
-
使用
spyOn(console, 'error')
,然后使用except(spy.calls.mostRecent()).toHaveBeenCalled()
。 -
在这样的全球群体中注册
console.*
,例如此global.console {...}
我不知道我现在应该尝试什么或做错了什么。
感谢您的回答,欢呼。
已解决:
我必须使用我的wrapper.vm对象,类似的东西:
expect(wrapper.vm.$options.props.YOUR_PROPS_OBJECT.validator(YOUR_WRONG_PROPS)).toBe(false);
另一种处理validator
测试的方法:
可以直接使用该组件,例如,如果该组件被测试为App
,并且属性名称为p
,则
expect(App.props.p.validator(arg)).toBe(res)
是它的测试。