【问题标题】:HowTo Mock out ModalController in Ionic 3如何在 Ionic 3 中模拟 ModalController
【发布时间】:2017-11-24 07:10:48
【问题描述】:

模拟

export class ModalControllerMock {
    public create(param1,param2) {
        let rtn: Object = {};
        rtn['present'] = (() => true);
        return rtn;
    }; };

生产代码:

 someFunc() {
        let modal = this.modalController.create(myComp, {
            stuff:stuff
        });
        modal.present();
    }

错误

TypeError: undefined is not an object (evalating 'modal.present') in src/test.ts(第 61262 行)

模态控制器实现

https://github.com/ionic-team/ionic/blob/master/src/components/modal/modal-controller.ts

【问题讨论】:

    标签: angular unit-testing ionic-framework


    【解决方案1】:

    找到解决办法:

    在 mocks.ts 中

    import {ModalController} from "ionic-angular";
    import { mockApp, mockConfig, mockDeepLinker } from 'ionic-angular/util/mock-providers';
    
    export class ModalControllerMock {
        constructor() {
            return new ModalController(mockApp(), mockConfig(), mockDeepLinker());
        }
    };
    

    在规范文件中

    spyOn(modalControllerMock, "create").and.callThrough();

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 2020-08-21
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 2018-05-08
      • 2018-10-22
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多