programing

테스트 스위트에서 Jest + Nuxt + Nuxt-Fire가 실패함

copyandpastes 2022. 8. 23. 22:55
반응형

테스트 스위트에서 Jest + Nuxt + Nuxt-Fire가 실패함

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)
},

이렇게 생겼어요.$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')
  })
})

시험을 통과하고 싶다면created()시뮬레이션만 할 수 있는 다른 기능을 후크하여 테스트합니다.$fireDb.ref테스트도 안 해봤어요

언급URL : https://stackoverflow.com/questions/53885177/jest-nuxt-nuxt-fire-is-failing-in-test-suite

반응형