2016-04-14 13 views
1

Ich versuche herauszufinden, wie Typoskript-Jasmine-Chutzpah-Kombination schließlich meine Schreibmaschine Code testen wird. Also habe ich ein Beispielprojekt (im Bild gezeigt).Running Jasmine Tests in Typescript, mit Chutzpah

enter image description here

Ich habe eine app.ts-Datei mit folgendem Inhalt

class Calculator { 
    add = function(x:number, y:number) { 
     return x + y; 
    } 
} 

und die Testdatei appTest.ts

/// <reference path="../typings/jasmine/jasmine.d.ts" /> 
/// <reference path="../../app.ts" /> 

/// <chutzpah_reference path="../jasmine/jasmine.js" /> 
/// <chutzpah_reference path="../../app.js" /> 

describe("Test Calc", function() { 

    it("add function", function() { 
     var calc = new Calculator(), 
      res = calc.add(4, 7); 
     expect(res).toBe(11); 
    }); 
}); 

Wenn ich Tests auf testApp.ts laufen die Ausgabe wird "0 bestanden, 0 fehlgeschlagen, 0 insgesamt (Chutzpah)." Aber wenn ich die kompilierte testApp.js ausführe, scheint es gut zu funktionieren "1 bestanden, 0 fehlgeschlagen, 1 gesamt (chutzpah)."

1) Warum werden die Tests in der .ts-Datei nicht gefunden? 2) Sollte ich meinen Schreibcode in Typoskript oder direkt mit JavaScript testen?

Kann mir jemand helfen, diesen einfachen Testaufbau zu finden und es zum Laufen zu bringen? Beachten Sie, dass ich chutzpah.json im Moment nicht verwende.

Antwort

2

Als ich die Dokumente (oder einige andere Artikel) las, war klar, dass chutzpah.json optional für einen einfachen Test war, aber der einzige Weg, um es zum Laufen zu bringen, war chutzpah.json an der Wurzel hinzuzufügen des Projekts mit folgendem Inhalt:

{ 
    "Framework": "jasmine", 

    "References": [ 
    { "Path": "app.js" }, 
    { "Path": "scripts/jasmine/jasmine.js" } 
    ], 

    "Tests": [ 
    { "Path": "scripts/tests/apptest.js" } 
    ] 
} 

also für zukünftige Referenz, erforderlich chutzpah.json um Chuzpe ist es, die Tests auszuführen. Beachten Sie auch, dass die "chutzpah_reference" in der Testdatei nicht mehr benötigt wird.

+0

Es war in der Vergangenheit optional, aber ab Version 3 wurde es benötigt. –

2

Wenn Sie keine chutzpah.json-Datei verwenden, wird es nicht funktionieren. Bitte follow this Beispiel, um zu sehen, wie es richtig funktioniert.

+0

Ich fand das auf die harte Tour. Bitte machen Sie das in den Dokumenten klar. Vielen Dank für Ihre Mühe :) – Konst