2017-07-23 55 views
0

我有一個私有方法,其中我調用一個在服務中定義的方法來獲取某些數據。這項服務是一類使用服務注入的angular2中的私有方法的單元測試

在Angular2

private _data: DataService; 
private _result: any; 

private _getData() { 
    this._data.fetchingDetails('userID', (res) => { 
     this._result = res; 
    }); 
} 

我會如何,如果你想要做一些黑客繞過事實檢驗這段代碼在茉莉花

+0

可能的重複[如何編寫單元測試的Angular 2/TypeScript的私人方法與茉莉花](https://stackoverflow.com/questions/35987055/how-to-write-unit-testing-for-angular- 2打字稿換私有的方法 - 用-JA) – Makoto

回答

0

取決於一些代碼卡這是一種私人方法,請看Makoto對此的評論。

但是,generealy你可以通過測試使用私有方法的公共方法來測試它,它必須在你的類的某個地方調用。例如

export class Example 1 { 
    constructor() {} 
    public foo() { 
     this.bar() 
    } 
    private bar() { 
    ... do awesome stuff ... 
    } 
} 

這裏您將測試foo()類以具有預期的行爲,包括bar()中的行爲。

在你的例子中,如果你想驗證data.fetDetails被調用,然後窺探它,並測試你的equeilant foo。

相關問題