Typescript 存根子组件似乎被渲染并抛出一个错误
Jest测试应该测试FileInput组件,它将ConfirmationDialog组件作为子组件包含。另一方面,DialogBase组件是ConfirmationDialog的子组件。 测试是绿色的,但它会抛出一个错误,即它无法读取undefined的属性lang,即使ConfirmationDialog被存根并且$vuetify对象被模拟 文件输入组件(由于公司限制,我无法发布整个组件代码) 错误是:Typescript 存根子组件似乎被渲染并抛出一个错误,typescript,vue.js,jestjs,vuetify.js,vue-property-decorator,Typescript,Vue.js,Jestjs,Vuetify.js,Vue Property Decorator,Jest测试应该测试FileInput组件,它将ConfirmationDialog组件作为子组件包含。另一方面,DialogBase组件是ConfirmationDialog的子组件。 测试是绿色的,但它会抛出一个错误,即它无法读取undefined的属性lang,即使ConfirmationDialog被存根并且$vuetify对象被模拟 文件输入组件(由于公司限制,我无法发布整个组件代码) 错误是: console.error node_modules/vue/dist/vue.runti
console.error node_modules/vue/dist/vue.runtime.common.dev.js:621
[Vue warn]: Error in render: "TypeError: Cannot read property 'lang' of undefined"
found in
---> <DialogBaseComponent>
<ConfirmationDialog>
<VRow>
<FileInputComponent>
<Root>
console.error node_modules/vue/dist/vue.runtime.common.dev.js:1884
TypeError: Cannot read property 'lang' of undefined
at fn (C:\webapp\src\modules\shared\presentation\dialogs\ConfirmationDialog\Shared.ConfirmationDialogComponent.vue:1153:53)
at normalized (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:2584:37)
at Proxy.renderSlot (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:2680:13)
at Proxy.render (C:\webapp\src\modules\shared\presentation\dialogs\DialogBase\Shared.DialogBaseComponent.vue:1395:277)
at VueComponent.Vue._render (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:3538:22)
at VueComponent.updateComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4054:21)
at Watcher.get (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
at new Watcher (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4454:12)
at mountComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4061:3)
at VueComponent.Object.<anonymous>.Vue.$mount (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:8392:10)
at init (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:3112:13)
at createComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:5958:9)
at createElm (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:5905:9)
at VueComponent.patch [as __patch__] (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:6494:9)
at VueComponent.Vue._update (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:3936:19)
at VueComponent.updateComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4054:10)
at Watcher.get (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
at Watcher.run (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4540:22)
at flushSchedulerQueue (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4298:13)
at Array.<anonymous> (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:1976:12)
at flushCallbacks (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:1902:14)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
console.error节点_modules/vue/dist/vue.runtime.common.dev.js:621
[Vue warn]:呈现时出错:“TypeError:无法读取未定义的属性“lang”
发现于
--->
console.error节点_modules/vue/dist/vue.runtime.common.dev.js:1884
TypeError:无法读取未定义的属性“lang”
在fn(C:\webapp\src\modules\shared\presentation\dialogs\ConfirmationDialog\shared.ConfirmationDialogComponent.vue:1153:53)
标准化时(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:2584:37)
在Proxy.renderSlot(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:2680:13)
在Proxy.render(C:\webapp\src\modules\shared\presentation\dialogs\DialogBase\shared.DialogBaseComponent.vue:1395:277)
在VueComponent.Vue.\u呈现(C:\webapp\node\u modules\Vue\dist\Vue.runtime.common.dev.js:3538:22)
位于VueComponent.updateComponent(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4054:21)
在Watcher.get(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4465:25)
在新的观察者(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4454:12)
安装组件时(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4061:3)
在VueComponent.Object..Vue.$mount(C:\webapp\node\u modules\Vue\dist\Vue.runtime.common.dev.js:8392:10)
在初始化时(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:3112:13)
在createComponent(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:5958:9)
在createElm(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:5905:9)
在VueComponent.patch[as uuuu patch_uuuuu](C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:6494:9)
在VueComponent.Vue.\u更新(C:\webapp\node\u modules\Vue\dist\Vue.runtime.common.dev.js:3936:19)
位于VueComponent.updateComponent(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4054:10)
在Watcher.get(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4465:25)
在Watcher.run(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4540:22)
在flushSchedulerQueue(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:4298:13)
在阵列上。(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:1976:12)
在flushCallbacks(C:\webapp\node\u modules\vue\dist\vue.runtime.common.dev.js:1902:14)
在处理和拒绝时(内部/process/task_queues.js:97:5)
beforeEach(() => {
localVue = createLocalVue();
const vuetify = new Vuetify();
localVue.use(Vuex);
localVue.use(vuetify);
});
it('Test', () => {
const wrapper = shallowMount(FileInput, {
localVue,
stubs: {
'dialog-base': true,
'confirmation-dialog': true,
},
mocks: {
$vuetify: {
lang: {
t: (val: string) => val,
locales: {} as LangLocales,
current: '',
},
},
},
});
});
console.error node_modules/vue/dist/vue.runtime.common.dev.js:621
[Vue warn]: Error in render: "TypeError: Cannot read property 'lang' of undefined"
found in
---> <DialogBaseComponent>
<ConfirmationDialog>
<VRow>
<FileInputComponent>
<Root>
console.error node_modules/vue/dist/vue.runtime.common.dev.js:1884
TypeError: Cannot read property 'lang' of undefined
at fn (C:\webapp\src\modules\shared\presentation\dialogs\ConfirmationDialog\Shared.ConfirmationDialogComponent.vue:1153:53)
at normalized (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:2584:37)
at Proxy.renderSlot (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:2680:13)
at Proxy.render (C:\webapp\src\modules\shared\presentation\dialogs\DialogBase\Shared.DialogBaseComponent.vue:1395:277)
at VueComponent.Vue._render (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:3538:22)
at VueComponent.updateComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4054:21)
at Watcher.get (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
at new Watcher (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4454:12)
at mountComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4061:3)
at VueComponent.Object.<anonymous>.Vue.$mount (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:8392:10)
at init (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:3112:13)
at createComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:5958:9)
at createElm (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:5905:9)
at VueComponent.patch [as __patch__] (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:6494:9)
at VueComponent.Vue._update (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:3936:19)
at VueComponent.updateComponent (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4054:10)
at Watcher.get (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
at Watcher.run (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4540:22)
at flushSchedulerQueue (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:4298:13)
at Array.<anonymous> (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:1976:12)
at flushCallbacks (C:\webapp\node_modules\vue\dist\vue.runtime.common.dev.js:1902:14)
at processTicksAndRejections (internal/process/task_queues.js:97:5)