我正在将Nuxt与Nuxt-Fire(https://github.com/lupas/nuxt-fire)配合使用
启动测试时,出现此错误[Vue warn]: Error in config.errorHandler: "TypeError: Cannot read property 'ref' of undefined"
这是由于我的应用程序中的这一部分而发生的
mounted() {
this.initiate(window.instaroomId)
let connected = this.$fireDb.ref(".info/connected")
this.getConnection(connected)
},
看起来像this。$ fireDb没有被调用。该模块通常加载在nuxt.config.js中。我该如何工作?
答案 0 :(得分:0)
如果您想测试调用了 this.$fireDb.ref(".info/connected")
,您可以像这样模拟它:
import { shallowMount } from '@vue/test-utils'
import SomeComponent from '@/components/SomeComponent/SomeComponent.vue'
let wrapper
describe('SomeComponent.vue Test', () => {
beforeEach(() => {
wrapper = shallowMount(SomeComponent, {
mocks: {
$fireDb: {
ref: jest.fn()
}
}
})
})
it('$fireDb.ref was called', () => {
expect(wrapper.vm.$fireDb.ref).toBeCalled()
expect(wrapper.vm.$fireDb.ref).toBeCalledWith('.info/connected')
})
})
或者,如果您只想让测试通过 created()
钩子并测试另一个功能,您可以只模拟 $fireDb.ref
而无需测试它是否被调用。