5

我目前正在尝试向我的 Vue 3 Vite 应用程序引入测试。
我为此使用 jest 和 vue-test-utils。
这工作正常,除非我尝试安装包含我的基本组件的组件,我在 app.mount("#app"); 之前使用 app.component(basecomponent) 引入了这些组件。在我的应用程序中。
虽然测试仍在运行,但我收到错误消息:

[Vue warn]: Failed to resolve component: base-card 
      at <Anonymous ref="VTU_COMPONENT" > 
      at <VTUROOT>

现在我的问题是,让测试可以访问的最佳方法是什么?或者我做错了什么,因为这不起作用?
提前感谢所有答案:)

4

2 回答 2

5

您可以通过以下方式在安装时添加组件global.components

const wrapper = mount(Component, {
  global: {
    components: {
      'base-card': BaseCard
    }
  }
})

或者,您可以使用以下方式全局包含组件config

// jest.setup.js

import { config } from '@vue/test-utils'

config.global.components = {
  'base-card': BaseCard
}
于 2021-07-06T13:07:31.020 回答
1

@stackmeister 您是否在测试中导入了此组件?您也可以尝试添加这部分代码:

    components: {
    base-card
  },
于 2021-05-07T16:31:08.910 回答