반응형
모의 장착 후크 Jest 테스트 유닛
부품에 대한 유닛 테스트를 하고 있습니다.단, 일부 컴포넌트에서는 이 컴포넌트에서 동작하고 있는 것이 있습니다.mounted
훅이 시험 불합격의 원인이 되고 있습니다.나는 내가 필요로 하지 않는 방법들을 조롱할 수 있었다.하지만, 저는 이 문제를 조롱할 방법이 없을까 궁금했습니다.mounted
훅을 꽂다.
@/components/attendees List.표시하다
<template>
<div>
<span> This is a test </span>
</div>
</template>
JS
<script>
methods: {
testMethod: function() {
// Whatever is in here I have managed to mock it
}
},
mounted: {
this.testMethod();
}
</script>
Test.spec.js
import { mount, shallowMount } from '@vue/test-utils'
import test from '@/components/attendeesList.vue'
describe('mocks a method', () => {
test('is a Vue instance', () => {
const wrapper = shallowMount(attendeesList, {
testMethod:jest.fn(),
})
expect(wrapper.isVueInstance()).toBeTruthy()
})
현재의,vue-test-utils
모킹 라이프 사이클 훅은 지원되지 않지만 에서 호출된 메서드는 모킹할 수 있습니다.mounted
후크. 당신의 경우, 조롱하기 위해testMethod()
, 사용방법:
const testMethod = jest.spyOn(HelloWorld.methods, 'testMethod')
const wrapper = shallowMount(HelloWorld)
expect(testMethod).toHaveBeenCalledWith("hello")
Vue 테스트 유틸리티에는 모의 메서드가 포함되어 있습니다.
const wrapper = shallowMount(attendeesList,{
testMethod:jest.fn()
})
문제를 해결하는 가장 간단한 방법은 마운트된 후크의 코드를 메서드로 이동하고 위의 코드를 사용하여 후크에서 호출하는 것입니다.
언급URL : https://stackoverflow.com/questions/55746890/mock-mounted-hook-jest-testing-unit
반응형
'programing' 카테고리의 다른 글
동적으로 생성된 형제에게 데이터 전달 (0) | 2022.08.01 |
---|---|
Vue 2 컴포넌트 스타일(Vue 로더 없음) (0) | 2022.08.01 |
vue 구성 요소 내부에 컨텐츠 추가 (0) | 2022.08.01 |
로그아웃이 로컬 스토어 또는 상태에서 토큰을 지우지 않습니다. (0) | 2022.07.31 |
Vue에서 로드/오류 상태를 저장할 위치입니다.JS/Vuex? (0) | 2022.07.31 |