【问题标题】:Mocking out NavParams in Ionic3 gives back Property Data is missing in type typeOf NavParams在 Ionic3 中模拟 NavParams 会返回 typeOf NavParams 类型中缺少属性数据
【发布时间】:2017-06-20 16:07:50
【问题描述】:
export class NavParamsMock {

    static returnParam = null;
    public get(key): any {
        if (NavParamsMock.returnParam) {
            return NavParamsMock.returnParam
        }
        return 'default';
    }
    static setParams(value){
        NavParamsMock.returnParam = value;
    }
}

它不工作。

【问题讨论】:

    标签: unit-testing ionic-framework ionic2


    【解决方案1】:

    由于错误指出您的类中缺少数据,因此它失败了。

    如果您不关心并想避免此类错误,请扩展您的类。

    export class NavParamsMock extends NavParams
    

    这将填补缺失的属性。

    如果您不想扩展整个类,您可以只使用数据属性,如错误所示

    export class NavParamsMock {
        static returnParam = null;
        get data(){ return NavParamsMock.returnParam; }
        set data(params) { NavParamsMock.returnParam = params; } 
        public get(key): any {
            if (NavParamsMock.returnParam) {
                return NavParamsMock.returnParam
            }
            return 'default';
        }
        static setParams(value){
            NavParamsMock.returnParam = value;
        }
    }
    

    【讨论】:

    • 谢谢!作为奖励,您将如何设置密钥? navParamsMock.set({"header": "blue"}); ?
    • setParams 是我相信您将其命名为的名称。或者直接去对象 returnParam
    • 看起来我复制粘贴的 NavParamsMock 实现有问题。我们需要带有 NavParams 的键值对。
    猜你喜欢
    • 2017-05-16
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2018-02-16
    • 2019-11-24
    • 1970-01-01
    • 2019-10-02
    相关资源
    最近更新 更多