반응형
컴포넌트의 다른 모듈에서 커스텀 디렉티브를 테스트하는 방법
앱에 Import하는 UI 라이브러리가 있습니다.UI 라이브러리는 커스텀 디렉티브입니다.toggle
모드를 열고 닫을 때 사용합니다.유닛 테스트를 실행하면 다음 오류가 나타납니다.
[Vue warn]: Failed to resolve directive: toggle
(found in <Identity>)
인마이Identity
컴포넌트 UI 라이브러리의 컴포넌트를 사용하고 있습니다.checkbox
다음 지시사항을 포함합니다.
<checkbox
:value="rememberMe"
:label="$t('identity.rememberMeHeading')"
name="rememberMe"
data-test="remember-me"
@input="toggleRememberMe()">
<span slot="subtext"> {{ $t('identity.rememberMeSubheading') }}
<a v-toggle:a-modal="'learn-more-modal'"
@click.prevent="() => {}">{{ $t('identity.learnMore') }}</a>
</span>
</checkbox>
이 에러를 수정하려면Identity.spec.js
? Import 후 다음 항목이 있습니다.
const localVue = createLocalVue()
localVue.use(Vuex)
localVue.use('toggle')
인@vue/test-utils
1.x, 의 두 번째 파라미터shallowMount
그리고.mount
를 받아들이다directives
컴포넌트에서 사용할 지시어를 정의하는 옵션입니다.2.x의 옵션은 입니다.이 옵션을 사용하면,v-toggle
지시:
shallowMount(MyComponent, {
// @vue/test-utils @1.x
directives: {
toggle() { /* stub */ }
},
// @vue/test-utils @2.x
global: {
directives: {
toggle() { /* stub */ }
}
}
})
예를 들어 명령어가 컴포넌트에서 사용되고 있는지 확인하려면 다음 절차를 수행합니다.
const toggle = jest.fn()
shallowMount(MyComponent, {
// @vue/test-utils @1.x
directives: {
toggle
},
// @vue/test-utils @2.x
global: {
directives: {
toggle
}
}
})
expect(toggle).toHaveBeenCalled()
언급URL : https://stackoverflow.com/questions/56499954/how-to-test-a-custom-directive-from-another-module-in-a-component
반응형
'programing' 카테고리의 다른 글
Linux에서 쓰기 손실을 일으키는 I/O 오류에 대처하기 위한 프로그램 쓰기 (0) | 2022.07.11 |
---|---|
v-select 외부에서 클릭하면 v-model이 null로 재설정되는 이유는 무엇입니까?Vuetify (0) | 2022.07.11 |
사용자가 C에 입력한 문자열을 읽으려면 어떻게 해야 하나요? (0) | 2022.07.11 |
printf()를 사용하여 소수점 이하 두 자리 수 (0) | 2022.07.11 |
JEST 테스트에서 글로벌 Vue.js 변수를 조롱하는 방법 (0) | 2022.07.11 |