Ich bin neu in JavaScript und ich habe kürzlich angefangen, automatisierte Tests mit Winkelmesser und Yadda zu schreiben, damit ich Gherkin verwenden kann. Allerdings habe ich festgestellt, dass nur Schritt Definitionen erscheinen nicht wiederverwendbar zu sein, das heißt, wenn ich die FunktionWiederverwendungsschrittdefinitionen mit Yadda und Winkelmesser, erforderliche Dateien durchlaufen
testMyWebAppRocks.feature
laufen wird es die Schritte in
testMyWebAppRocks.steps.js
jedoch definiert verwenden, kann es sein, dass ein mehrere der gleichen Schritte aus dieser Feature-Datei, wie
Given I am on the homepage
, die in einer anderen Feature-Datei, wie
erscheinttestThisParticularPartOfMyWebAppRocks.feature
und erfordert, dass die Schritte in der Schrittdefinition, die dieser Funktion entspricht, neu geschrieben werden. Offensichtlich ist dies nicht ideal, passt nicht zu DRY und für eine einseitige Web-App, die ziemlich komplex ist, könnten für viele Funktionen die gleichen Schritte erforderlich sein.
Gibt es also eine Möglichkeit, alle Schrittdefinitionen in eine Bibliothek zu laden und die Features für diese Bibliothek auszuführen? Was ist die beste Vorgehensweise, wenn man so etwas macht?
Offensichtlich muss ich nicht alle meine Szenarien in eine unmanageable Feature-Datei und ebenso mit den Schrittdefinitionen stopfen müssen. Ich möchte auch nicht immer denselben Code wiederholen müssen.
UPDATE
OK, so habe ich um diese einen Weg herausgefunden, durch meine Bibliotheken zusammen verbinden
var library = englishLibrary.library();
var firstSteps = require('./steps/first-steps')(library);
var secondSteps = require('./steps/second-steps')(firstSteps);
var yadda = Yadda.createInstance(secondSteps);
jetzt Mein Problem ist, dass diese bald ziemlich hässlich, ist es möglich, dies in einer Schleife zu tun? Wenn ich glob verwenden könnte, müsste ich nicht über den Namen der Step-Definitionen Bescheid wissen, aber ich kenne JavaScript nicht gut genug, um zu wissen, wo ich anfangen soll.
Danke.