2017-05-30 4 views
0

ich meine package.json Ich habePlatzhalter verwenden, um mehrere Skripte für npm Lauftest

"scripts": { 
    "test": "node tests/*-test.js" 
} 

Und ich habe a-test.js und b-test.js im tests Ordner ausführen, die ich durch Laufen ls tests/*-test.js überprüfen kann.

npm run test führt jedoch nur a-test.js aus. Wie kann ich alle *-test.js Skripte ausführen? Explizites Auflisten ist keine Option, da ich mehr als 2 in der Zukunft haben werde.

+0

haben Sie versucht, diesen Knoten Tests/* - test.js Befehl in der Schale? –

Antwort

0

Sie einen Task-Manager verwenden könnte wie grunt oder gulp oder ein einfaches Skript, das diese Skripte ausführen:

test.js:

require('./test/a-test.js') 
require('./test/b-test.js') 

package.json

"scripts": { 
    "test": "node test.js" 
} 

Sie können auch das Modul all-include verwenden, um diese für Sie zu automatisieren https://www.npmjs.com/package/include-all

Beispiel

INCLUDEALL mit:

const path = require('path'); 
    const includeAll = require('include-all'); 

    const controller = includeAll({ 
     dirname: path.join(__dirname, 'test'), 
     filter: /(.+test)\.js$/, 
    }); 
+0

Das Ausführen von test.js funktioniert nicht: 'Fehler: Modul 'a-test.js' kann nicht gefunden werden. Gibt es einen weiteren Schritt, den ich ausführen muss? Ich habe sie alle in den 'test'-Ordner gelegt und den" test/"aus den Requests entfernt. Ich habe auch das IncludeAll-Skript gemacht und es läuft nichts! Ich möchte, dass alles unter die Testmappe geht, wenn es darauf ankommt. – swagrov

+0

Tut mir leid, es ist 'require ('./test/a-test.js')', Aktualisierung –

+0

Es scheint zu unterdrücken die Ausgabe von einem meiner Tests, die API-easy.js verwendet. Wenn ich den Test selbst ausführe, erhalte ich eine Liste mit Häkchen und Fehlern. Aber mit Ihrer test.js Antwort, Es druckt console.log Aussagen, aber sonst nichts. Irgendeine Idee warum? – swagrov

Verwandte Themen