programing

제공/주입된 VUE 컴포넌트를 유닛 테스트하는 방법

goodsources 2022. 8. 11. 22:24
반응형

제공/주입된 VUE 컴포넌트를 유닛 테스트하는 방법

유닛 테스트를 작성 중인데 컴포넌트에 문제가 생겼습니다.inject소유물.

사용하고 있다shallowMount이것에 대해 조사를 좀 해봤습니다.그리고 가짜 데이터를 만들 수 있는 방법이 있습니다.provide https://vue-test-utils.vuejs.org/api/options.html#provide 를 참조해 주세요.하지만, 저는 어떤 정보도 힌트도 보지 못했습니다.inject.

그래서 유닛 테스트 방법에 대한 조언이 필요합니다.injectVuejs에서요?

제공 속성에서 설정한 내용은 마운트된 구성 요소에 주입하는 데 사용되는 것입니다.

내 유닛 테스트에서 나는

metadataModule = sandbox.createStubInstance(MetadataModule);
metadataService = sandbox.createStubInstance(MetadataService);

wrapper = shallowMount(MoveFileElement, {
        provide: {
            [SYMBOLS.METADATAMODULE]: metadataModule,
            [SYMBOLS.METADATASERVICE]: metadataService,
        },
        ....

내 컴포넌트에는

export default class MoveFileElement extends Mixins(Utilities) {       
    @Inject(SYMBOLS.METADATAMODULE) public metadataModule!: IMetadataModule;
    @Inject(SYMBOLS.METADATASERVICE) public metadataService!: MetadataService;

이제 컴포넌트는 유닛 테스트에서 준비한 메타데이터 모듈의 가짜 버전에 액세스할 수 있습니다.

언급URL : https://stackoverflow.com/questions/53587362/how-to-unit-test-a-vue-component-that-have-provide-inject

반응형