2017-04-19 5 views
1

Ich habe ein Projekt mit mehreren JavaScript-Dateien geerbt. Jeder von ihnen hat eine Reihe von Funktionen; Die Dateien sind im AMD-Stil definiert.Wie generiert man automatisch Komponententests von einem JS-Modul?

Zum Beispiel:

math.js

define([], function() { 

    return { 

    func1: function (a, b) { 
     return a + b; 
    }, 

    func2: function (c, d) { 
     return c + d; 
    }, 

    }; 
}); 

Ich mag eine neue Datei im tests Ordner mit dem Namen generieren (math.js), die den Standardcode für die Unit-Tests in tdd Stil enthält für das intern Framework.

Ich habe den intern-generator, einen Yeoman-Generator, der Gerüstbau und eine Testdatei mit einem angegebenen Namen und Pfad zu generieren, aber dies lasse mich nicht Unit Tests erstellen, die auf die Funktionen aus der JS-Datei beziehen .

Also, für die math.js Quelldatei, würde Ich mag eine Testdatei erstellen (automatisch):

define(function (require) { 
    var tdd = require('intern!tdd'); 
    var assert = require('intern/chai!assert'); 
    var math = require('src/app/math'); 

    tdd.suite('Suite name', function() { 

    tdd.test1('Test foo', function() { 
     math.func1('breaks'); 
    }); 

    tdd.test('Test bar', function() { 
     math.func2('breaks'); 

    }); 
    }); 
}); 

Auf diese Weise habe ich mit allen Unit-Tests beginnen kann Dateien vorab erstellt und ich weiß, dass Alle meine Unit-Tests werden zuerst unterbrochen und ich werde sie nacheinander passieren lassen. Auf diese Weise kann ich sicher sein, dass ich alle Funktionen aus meinen Quellskriptdateien in Tests integriert habe.

Natürlich möchte ich diese Tests .js-Dateien für alle meine Quelle .js-Dateien generieren. Gibt es einen Generator oder eine Bibliothek/ein Skript, die mich das erlauben?

Antwort

0

Wenn Sie angularJS verwenden, können Sie Karma-Jasmine verwenden, um Ihr Projekt zu testen. oder wenn Sie nur mit Ihrem Code herumspielen, können Sie webstorm für mehr Unterstützung beim Testen (Unit Tests und End-to-End Tests) ausprobieren.

Verwandte Themen