2016-07-04 71 views
0

我只是想測試一下如果我的定義類的方法,例如:單元測試,如果類的方法定義

export class GoalSettingsPage { 

    public goal: Goal; 

    constructor(
    ) { 
     this.goal = this.navParams.get('goal'); 
    } 

    saveForm(event) { 
     this.viewCtrl.dismiss(this.goal); 
    } 

單元測試某物像:

xit('should have methods defined',() => { 

    let g = new Goal() 
    let np = new NavParams() 
    let vc = new ViewController() 
    let e = new Events() 
    let fb = new FormBuilder() 

    let settingModal = new GoalSettingsPage(np,vc,fb,e); 

    expect (settingModal.saveForm(e).toBeDefined; 
}) 

不工作。

+0

爲什麼'settingModal.saveForm(E)'被調用?要檢查它的存在,它不應該。順便說一句,有一個語法錯誤,測試跑步者應該警告你。 – estus

+0

那麼如何檢查它的存在? – nottinhill

+1

'expect(settingModal.saveForm).toBeDefined()' – estus

回答

1

爲了測試類實例的方法的存在,它應該是

expect(settingModal.saveForm).toBeDefined() 

或者,更準確地說,

expect(settingModal.saveForm).toBe(jasmine.any(Function));