【问题标题】:Vue test utils: '[object Object]' is not a valid selectorVue 测试工具:'[object Object]' 不是有效的选择器
【发布时间】:2020-10-24 21:26:17
【问题描述】:

我正在尝试通过其 ref 属性从包装器中获取一个元素,但它抛出如下所示的错误。

根据documentation,我对find的使用似乎是正确的。

 SyntaxError: '[object Object]' is not a valid selector

  13 |     const lis = wrapper.findAll('li');
  14 | 
> 15 |     const a = wrapper.find({ ref: 'first' });
     |                       ^
  16 | 
  17 |     console.log(a);
  18 | 

  at emit (node_modules/nwsapi/src/nwsapi.js:565:17)
  at _querySelectorAll (node_modules/nwsapi/src/nwsapi.js:1513:9)
  at Object._querySelector [as first] (node_modules/nwsapi/src/nwsapi.js:1424:14)      at VueWrapper.find (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:192      at Object.it (tests/unit/example.spec.js:15:23)

【问题讨论】:

    标签: javascript unit-testing vue.js vue-test-utils


    【解决方案1】:

    根据current find docs,不推荐使用find

    弃用警告

    使用find 搜索组件已被弃用并将被删除。请改用findComponent

    现在看来,该支持已完全删除。 find 目前只接受选择器字符串。

    要通过ref 名称查找组件,请改用findComponent

    wrapper.findComponent({ ref: 'first' })
    

    【讨论】:

      【解决方案2】:

      您可以通过this.$refs.first获取您的参考值

      【讨论】:

      • 在组件内部是的,但是在文件'.spec.js'内部,我正在开玩笑地测试组件,它是不同的
      猜你喜欢
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多