這可能只是一個Ionic 2的問題,因爲我沒有在Angular 2文檔中看到NavParams,但是一些概念可能會翻譯,因此我將兩者都標記了。如何在測試中模擬NavParams?
鑑於我呼叫navparams.get('somekey')
爲了偵聽傳入的參數,在測試中模擬NavParams是非常棘手的。
例如,這裏是我目前要做的事:
export class NavParamsMock {
public get(key): any {
return String(key) + 'Output';
}
}
這適用於非常基本的測試,但如果我有,我有,以測試它gets
特定類型的Object
,例如成分是什麼一個User
。
然後,我可以這樣做
export class NavParamsMock {
public get(key): any {
if (key === 'user') {
return new User({'name':'Bob'})
}
return String(key) + 'Output';
}
}
但是,如果你想在另一個試驗中,甚至其它組件的規格使用get(user)
這不起作用。假設你在兩個不同的組件中使用NavParams,當你做get(user)
時,他們都期望得到不同的結果,它變得越來越棘手。
有沒有人找到了解決方案?
我得到一個「屬性returnParams在類型'NavParamsMock'上不存在......沒關係,你在returnParams之後錯過了一個s。 –
有一個錯字。 ''returnParam'' – raj