2017-07-25 4 views
0

Ich habe das Jasmine-Knotenmodul installiert und eine Testfunktion in test.js mit der entsprechenden Spezifikationsdatei testSpec.js eingerichtet.Jasmin-Komponententest fehlgeschlagen?

test.js:

var Test = function() { 
    var testFunction = function() { 
     return 'test worked'; 
    } 
    return{ 
     testFunction:testFunction 
    } 
} 

module.exports = Test(); 

testSpec.js:

var Test = require('../src/js/test'); 

describe("Test Function", function() { 
    it("returns 'test worked'", function() { 
     expect(Test.testFunction().toEqual('test worked')); 
    }); 
}); 

Wenn ich den Test ausführen ich die folgende Fehlermeldung:

Message: 
    TypeError: Test.testFunction(...).toEqual is not a function 
Stack: 
    TypeError: Test.testFunction(...).toEqual is not a function 

Hartcodierung das Ergebnis 'test worked' Ich erhalte keine Fehler und der Test wird wie erwartet durchgeführt.

Was fehlt mir?

+0

@ T4rk1n siehe bearbeiten, fügte ich diejenigen, wenn ich Probleme mit der Fehlersuche. Ich erhalte die gleichen Fehler, wenn sie entfernt werden. –

+0

es ist nicht zuEs ist gleich – T4rk1n

+0

@ T4rk1n Ich bekomme den gleichen Fehler unabhängig von Matcher. –

Antwort

1

Parenthesis an der falschen Stelle für expect - hier geht:

describe("Test Function", function() { 
    it("returns 'test worked'", function() { 
     expect(Test.testFunction()).toEqual('test worked'); 
    }); 
}); 

edit: für Klarheit - der Fehler, den Sie erhalten, weil Sie toEqual aus Ihrer Funktionsaufruf Verkettungs wurden statt der Einkapselung expect.

+0

Ja, das sehe ich jetzt definitiv, so offensichtlich. –

Verwandte Themen