2016-07-04 5 views
0

ich einfach testen wollen, wenn meine Klassenmethoden definiert sind, z.B .:Einheit Test, um zu sehen, ob Klassenmethoden definiert sind

export class GoalSettingsPage { 

    public goal: Goal; 

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

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

Unit Test sth wie:

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; 
}) 

funktioniert nicht.

+0

Warum ist 'settingModal.saveForm (e)' werden sollte? Um seine Existenz zu überprüfen, sollte es nicht sein. Übrigens, es gibt einen Syntaxfehler, über den der Test-Runner Sie warnen sollte. – estus

+0

Dann, wie man seine Existenz überprüft? – nottinhill

+1

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

Antwort

1

Um die Existenz einer Methode in der Klasse Instanz zu testen

expect(settingModal.saveForm).toBeDefined() 

Oder, genauer gesagt, genannt

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