Unittesting in Typoskript

stimmen
36

Ich weiß, Typoskript ist einen Tag alt. Aber I`m gespannt, ob hier somekind Unit-Test-Framework oder Art und Weise, wie man schreibt und Lauf Unit-Tests für Typoskript?

Typoskript kann zu JavaScript kompiliert werden, und ich kann Test für das JavaScript schreiben, aber es ist nicht, was ich will.

Veröffentlicht am 02/10/2012 um 19:18
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
20

Typoskript ist keine Runtime-Sprache. Zur Ausführung Ihrer Typoskript Code, den Sie zuerst müssen sie JavaScript kompilieren; Dies gilt es zu testen. Ihre Tests können auch in Typoskript sein, kompilieren sowohl in JavaScript und Ihre bevorzugten Test-Framework, die Tests auszuführen.

Beantwortet am 02/10/2012 um 19:32
quelle vom benutzer

stimmen
16

Sie können Ihre Unit-Tests in Typoskript oder JavaScript, um mit einer der bestehenden JavaScript-Einheit Test-Frameworks schreiben.

Sehr bald, stelle ich mir die bestehende Frameworks Typoskript Umgebungsdefinitionsdateien erhalten (update - sie haben: http://definitelytyped.org/ ), die sie statisch so weit getippt machen als Typoskript betroffen ist. In der Zwischenzeit müssen Sie auf Umgebungs Erklärungen lesen , und ein paar von Ihrer eigenen zu Beginn der Tests hinzufügen.

Alternativ können Sie verwenden tsUnit Typoskript Unit Testing Framework , das eine Einheit Test - Framework in Typoskript geschrieben ist - so ist es mit Typoskript schön spielt (und kann in JavaScript zu verwenden).

Beantwortet am 02/10/2012 um 22:31
quelle vom benutzer

stimmen
0

Es scheint noch ein weiterer Test Läufer / Rahmen ist Intern genannt. https://theintern.github.io/

Hier ist ein Artikel zu erklären , wie es mit Typoskript kombiniert verwenden: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

Sieht ziemlich vielversprechend, wenn Sie Typoskript verwenden und Sie suchen nach einem Unit-Testing-Setup, das Quell Karten unterstützt.

Beispiel-Test:

import registerSuite = require('intern!object');
import assert = require('intern/chai!assert');
// Assume that we now have a version of our model in TypeScript:
import SimpleTodoModel = require('todo/model/SimpleTodoModel');

registerSuite({
    name: 'SimpleTodoModel',
    // Assume we have a promises interface defined
    'default data'() {
        var emptyModel = new SimpleTodoModel(),
            id:string = emptyModel.get('id'),
            length:number = emptyModel.get('todos').length,
            incomplete:number = emptyModel.get('incomplete'),
            complete:number = emptyModel.get('complete');
        assert.strictEqual(id, 'todos-dojo',
                    'Id should default to "todos-dojo"');
        assert.strictEqual(length, 0,
                    'Todos array should default to an empty array.');
        assert.strictEqual(incomplete, 0,
                    'Incomplete count should default to 0.');
        assert.strictEqual(complete, 0,
                    'Incomplete count should default to 0.');
    }
});
Beantwortet am 30/09/2015 um 16:50
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more