Maa*_*ers 6 vue.js jestjs vuejs2 nuxt.js
我正在使用 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)
},
Run Code Online (Sandbox Code Playgroud)
看起来 this.$fireDb 没有被调用。该模块通常加载在 nuxt.config.js 中。我怎样才能使这项工作?
如果你想测试,那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')
})
})
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望测试只是通过created()钩子并测试另一个功能,您可以只模拟$fireDb.ref而不测试它被调用。
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |