代码之家  ›  专栏  ›  技术社区  ›  Hoang Subin

如何对已提供/注入的VUE组件进行单元测试?

  •  1
  • Hoang Subin  · 技术社区  · 7 年前

    我正在编写一些单元测试,但我遇到了问题,组件 inject

    shallowMount . 我对此做了一些研究。有一种方法可以为你的电脑创建假数据 provide https://vue-test-utils.vuejs.org/api/options.html#provide . 但是,我没有看到任何信息或提示 .

    所以,我需要一些关于如何使用进行单元测试的建议

    1 回复  |  直到 7 年前
        1
  •  7
  •   Slicksim    7 年前

    在provide属性中设置的是用于注入已安装组件的内容。

    在我的单元测试中

    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;
    

    现在该组件可以访问我在单元测试中准备的元数据模块的假版本。