【问题标题】:Vue.js testing: props validation,how to test Vue console.error log with JESTVue.js 测试:道具验证,如何使用 JEST 测试 Vue console.error 日志
【发布时间】:2018-05-08 13:35:30
【问题描述】:

在使用 Jest 测试我的新 VueJS 项目期间,我遇到了由 props 验证引起的问题。

我所有具有正确模拟数据的测试,都通过组件的验证器。

我想在模拟wrong data 并将其传递给组件时测试情况。我知道当组件中的validator 返回falsevue.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".

我想在我的 Jest 测试中发现这个错误,但我尝试过的以下方法都不适合我:

  1. 使用spyOn(console, 'error'),然后使用except(spy.calls.mostRecent()).toHaveBeenCalled()

  2. 在像这样global.console {...}这样的全局变量中注册console.*

我不知道我现在应该尝试什么或我做错了什么。

谢谢你的回答,干杯。

【问题讨论】:

    标签: javascript unit-testing validation vue.js jestjs


    【解决方案1】:

    已解决:

    我不得不使用我的 wrapper.vm 对象,像这样:

    expect(wrapper.vm.$options.props.YOUR_PROPS_OBJECT.validator(YOUR_WRONG_PROPS)).toBe(false);

    【讨论】:

      【解决方案2】:

      另一种处理validator测试的方法:

      可以直接使用组件,例如,如果正在测试的组件名为App,则属性名为p

      expect(App.props.p.validator(arg)).toBe(res) 
      

      是对它的测试。

      【讨论】:

        猜你喜欢
        • 2020-11-25
        • 2020-05-26
        • 2021-02-18
        • 2023-02-07
        • 2021-07-05
        • 2019-10-03
        • 2019-05-01
        • 2019-03-30
        • 2020-02-12
        相关资源
        最近更新 更多