Ich habe eine Bibliothek mit Typoskript erstellt und meine Tests sind auch in Typoskript geschrieben. Ich würde gerne cucumber.js ausprobieren und Schrittdefinitionsdateien mit Typoskript erstellen. Sie unterstützen also Coffeescript und js, .ts wäre auch schön.
Grüße
Chris
Warum schickst du nicht einen Pull-Request @Chris2011
Ich werde nur Kunde dieses Projekts sein, wenn ich jeden Pull-Request von jedem Zeug mache, was ich verwende und etwas fehlt, dann kann ich es selbst erstellen. Es ist nur eine Funktionsanfrage. Wenn jemand Zeit hat und das gerne machen möchte, warum nicht. Ich nicht, weil ich keine Zeit habe, ich habe die gleiche normale Arbeit und andere Projekte und möchte nicht an jedem Projekt mitwirken, das ich verwende. Sry vielleicht für die harten Worte, aber für mich ist klar, dass es nicht möglich ist, an jedem Projekt mitzuarbeiten, was ich verwende. Ich muss die Quelle verstehen und so weiter.
Ich verstehe @ Chris2011. Vielleicht beschließt eines Tages jemand, dies zu implementieren, weil er Ihnen helfen möchte oder einfach nur zum Spaß.
Das realistischere Szenario ist, dass diese Funktionsanfrage offen bleibt, bis jemand sie genug braucht, um bereit zu sein, die Zeit und Mühe aufzubringen, sie zu implementieren und eine PR zu senden.
Vielleicht. Thx für deine Meinung. Aus meiner Sicht war es nur logisch, nach dieser Funktion zu fragen, da TS seit 1 oder 2 Jahren beliebter sein wird. Und wenn Sie oder wer auch immer sich entschieden hat, auch Coffeescript zu implementieren, warum nicht auch Typoscript?
Vielen Dank. Wir werden sehen was passiert...
Im Allgemeinen - genau wie Formatierer - möchte ich Sprach-/Dialekt-Unterstützung als Plugins von Drittanbietern anstelle eines Teils des Kerns (einschließlich des aktuellen CoffeeScript und PogoScript) haben.
TS +1
+1
Gefällt mir, pls tun es irgendwann!!!
:+1:
Kein Betrag von +1 oder :+1: wird dies bewirken. Jemand muss einen Pull-Request senden.
:+1: @aslakhellesoy Spot on
:8ball: @samccone
@jbpros @aslakhellesoy Das einzige, was getan werden sollte, um Sprachen von Drittanbietern zu unterstützen, ist die Implementierung von Modifizierungen:
SupportCodePathExpander.SUPPORT_CODE_FILES_IN_DIR_REGEXP = /\.(js|coffee|pogo)$/;
Und dann kann jeder jeden Transpiler zum Beispiel in support/env.js
registrieren
Vielleicht sollte diese Regex überhaupt entfernt werden?
Das schaue ich mir gerne an. Ich kann die CoffeeScript-Funktionsdatei finden, aber nicht finden, wo die Schrittdefinitionen implementiert sind. Könnte mir bitte jemand einige Hinweise geben, was zu tun ist?
@SeanFarrow Ich habe es bereits lokal getan. Sie müssen nur /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12
ändern und dann einen Transpiler über den Haken hinzufügen
Willst du eine pr schicken?
Von: Aleh Kashnikau [mailto:[email protected]]
Gesendet: 16. August 2015 19:15
An: gurke/gurke-js [email protected]
Cc: Sean Farrow Sean. [email protected]
Betreff: Re: [cucumber-js] Bitte fügen Sie Unterstützung für TypeScript hinzu (#335)
@SeanFa rrowhttps://github.com/SeanFarrow Ich habe es bereits lokal gemacht. Sie müssen nur /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12 ändern und dann einen beliebigen Transpiler über den Haken hinzufügen
—
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub anhttps://github.com/cucumber/cucumber-js/issues/335#issuecomment -131598410.
@mkusher da --coffee
Flag.
Ich möchte wirklich, dass dies sowieso über ein Plugin/Transpiler-System erfolgt und alle Dialekte aus dem Kern (einschließlich Coffeescript) entfernt werden.
Ich verstehe nicht, warum überhaupt sprachspezifische Unterstützung benötigt wird? Würden Sie die Schrittdefinitionen nicht einfach als Teil Ihres Buildprozesses in JavaScript umwandeln?
Ja, #398 wird dies beheben.
@henrify Das einzige, was zu Cucumber hinzugefügt werden muss, ist die Unterstützung von Schrittdefinitions-Snippets für andere Sprachen. Derzeit befinden sie sich standardmäßig in Vanilla JS und können in CS mit dem CLI-Flag --coffee
ausgegeben werden.
Wir könnten einfach alle Nicht-JS-Snippets ganz weglassen (einschließlich CS?). Die Gedanken?
@jbpros, seit die Readme aktualisiert wurde, und dies zeigt sich deutlich in den Ergebnissen für "cucumber typescript"
, ein Auszug:
-Schrittdefinitionen und Unterstützungsdateien können in anderen Sprachen geschrieben werden, die in Javascript transpiliert werden.
-Dies geschieht mit der CLI-Option --compiler <file_extension>:<module_name>
. Für CoffeeScript 1.10.0,
-Dies geschieht mit --compiler coffee:coffee-script/register
.
Schrittdefinitionen und Unterstützungsdateien können in anderen Sprachen geschrieben werden, die in Javascript transpiliert werden. Dies geschieht mit der CLI-Option --compiler <file_extension>:<module_name>
.
Installieren Sie das Coffee-Script NPM-Paket und rufen Sie Cucumber mit --compiler coffee:coffee-script/register
.
Installieren Sie das typescript-node NPM-Paket und rufen Sie Cucumber mit --compiler ts:typescript-node/register
.
Wie üblich müssen alle Ihre Schrittdefinitions- und Unterstützungsdateien eine Funktion exportieren, die von Cucumber ausgeführt wird. So wird es in TS gemacht:
declare var module: any;
module.exports = function () {
this.Given(/.*/, function () {
// ...
})
}
Installieren Sie das pogo NPM-Paket und rufen Sie Cucumber mit --compiler pogo:pogo
.
Ist es wirklich erforderlich, typescript-node zu verwenden? Ist es möglich, die offiziell unterstützte tsc anstelle von typescript-node zu verwenden? Ich kenne die Unterschiede nicht, aber tsc wird offiziell von Microsoft unterstützt.
@Chris2011 ts-node
ist nur ein Registrierungs-Hook für node.js, der die Kompilierung über tsc ausführt
OK danke.
@JoshuaKGoldberg wo ist der Auszug? Meine Suche hat es nicht gefunden.
Ein Beispiel, das Sie in die Gurkenjs mit Typoskript einführt:
https://github.com/AbraaoAlves/cucumber-protractor-typescript-boilerplate
Danke @AbraaoAlves für die Probe.
Leider funktioniert es nur mit cucumberjs 1. Der Winkelmesser-Gurken-Framework-Layer ist nicht mit dem cucumber2 rcs kompatibel.
So hängen Sie einen Screenshot im Gurkenbericht an. Ich verwende Typoskript-Sprache. Bitte helft mir jemand.
Bitte bestätigen Sie, ob es in Zukunft Kompatibilitätsprobleme mit Gurke + Winkelmesser + Typescript geben würde ... da wir die Kombination für unsere Implementierungen verwenden möchten.
@Rajazpandi
Mach so etwas in After
driver.takeScreenshot().then(data => {
attach(new Buffer(data, 'base64'), 'image/png');
}).catch(error => {
info(error);
throw error;
});
Dieser Thread wurde automatisch gesperrt, da nach dem Schließen in letzter Zeit keine Aktivität stattgefunden hat. Bitte öffnen Sie eine neue Ausgabe für verwandte Fehler.
Hilfreichster Kommentar
@jbpros, seit die Readme aktualisiert wurde, und dies zeigt sich deutlich in den Ergebnissen für
"cucumber typescript"
, ein Auszug:Transpiler
-Schrittdefinitionen und Unterstützungsdateien können in anderen Sprachen geschrieben werden, die in Javascript transpiliert werden.
-Dies geschieht mit der CLI-Option
--compiler <file_extension>:<module_name>
. Für CoffeeScript 1.10.0,-Dies geschieht mit
--compiler coffee:coffee-script/register
.Schrittdefinitionen und Unterstützungsdateien können in anderen Sprachen geschrieben werden, die in Javascript transpiliert werden. Dies geschieht mit der CLI-Option
--compiler <file_extension>:<module_name>
.KaffeeScript
Installieren Sie das Coffee-Script NPM-Paket und rufen Sie Cucumber mit
--compiler coffee:coffee-script/register
.Typoskript
Installieren Sie das typescript-node NPM-Paket und rufen Sie Cucumber mit
--compiler ts:typescript-node/register
.Wie üblich müssen alle Ihre Schrittdefinitions- und Unterstützungsdateien eine Funktion exportieren, die von Cucumber ausgeführt wird. So wird es in TS gemacht:
PogoScript
Installieren Sie das pogo NPM-Paket und rufen Sie Cucumber mit
--compiler pogo:pogo
.