Diskussion [Yeoman] QUnit mit Broccoli will nach Initialisierung etwas signieren ??

Mat

Aktives Mitglied
Ich wollte mal Yeoman testen (taugt das was?) und mir ein paar der generierten Verzeichnisstrukturen ansehen.
Unter anderem gibts da auch was für QUnit. Allerdings versucht der, nach fertiger Initialisierung einen commit zu signieren. Ich lasse den doch nicht einfach irgendwas mit meiner Mail signieren, wo kämen wir da denn hin. :unsure:

Ich hatte vorher 2 andere Vorlagen getestet und die wollten nichts signieren, also gehe ich mal davon aus, dass es direkt etwas mit Broccoli und QUnit zu tun hat. Es scheint auch trotzdem zu laufen, also frage ich mich, was das sein sollte.

Schritte:
Bash:
# Yeoman installieren
npm install -g yo

# Template installieren
npm install -g generator-qunit-broccoli

# Projekt mittels Template initialisieren
yo qunit-broccoli

Ergebnis bei Ablehnen der Signierung:
Code:
Your QUnit project is ready to go!

To get started:
 npm start

To get testing:
 npm test
gpg: Beglaubigung fehlgeschlagen: Verarbeitung wurde abgebrochen
gpg: signing failed: Verarbeitung wurde abgebrochen
error: gpg failed to sign the data
fatal: failed to write commit object

Mal was anderes:
Als ich mich letztes Mal mit JS-Tools auseinandergesetzt hatte, war ich verwundert darüber, wie viele Fehlermeldungen da Out of the Box kommen. Und es hat sich nicht geändert. Immer noch haufenweise Fehlermeldungen und Warnungen, selbst bei topaktuellen und weit verbreiteten Paketen.. einige Sachen ändern sich nie. :poop:
 

alinnert

Mitglied
Naja, das dürfte automatisch ein Git-Repo anlegen und die generierten Dateien gleich commiten. Diesen Commit kannst du signieren. Über das Prinzip weiß ich nur oberflächlich bescheid. So weit ich verstanden habe, bestätigst du damit, dass der Commit wirklich von dir ist und nicht jemand versucht deine E-Mail-Adresse für (potentiell bösartige) Commits zu verwenden und dir das dann in die Schuhe zu schieben. Insofern ist das Signieren von Commits durchaus eine gute Idee.

Yeoman, QUnit... das ist halt alles schon ziemlich vintage :D Warum sich Yeoman nicht durchgesetzt hat, weiß ich auch nicht so recht. Ich mag das Prinzip. Aber alle Framework-Hersteller bauen lieber ihre eigenen Scaffolding-Tools (create-react-app, Vue CLI, Angular CLI...). Würd mich aber nicht wundern, wenn's einfach an der Flexibilität liegt. Das einzige, wo mir Yeoman letztens über den Weg gelaufen ist, ist wenn man ein neues JS-basiertes Add-On für MS Office erstellt.

QUnit: Seh ich effektiv nirgendwo im Einsatz. Aktuell nutzt die Mehrheit Jest für Unit-Tests. Mich würden aber selbst mal die Unterschiede zwischen den ganzen Unit-Test-Libraries interessieren. Auf den ersten Blick wirken sie nämlich sehr ähnlich.

Aber ja... auch wenn ich jetzt noch topaktuellerererere Pakete nutze als Yeoman und QUnit: "Jaha, fsevent wird unter Windows und Linux nicht unterstützt. Das ist schön zu wissen. Jaha, das caniuse-Daten-Package ist nicht mehr aktuell. Das ist aber nicht meine Schuld, weil es keine direkte dependency von meinem Projekt ist! Jaha, ich hab kein Python installiert. Hindert das Projekt trotzdem nicht daran zu funktionieren. God damnit! D:"
Tipp: Einfach nicken und lächeln. :D
 

Mat

Aktives Mitglied
Naja, das dürfte automatisch ein Git-Repo anlegen und die generierten Dateien gleich commiten.
Klingt plausibel, dass der Scaffolder davon ausgeht, ein neues Projekt anzulegen. Aber find ich nicht gut. Der könnte ja eine ausgehende Mail signieren oder eine Datei entschlüsseln. Merkwürdige Präferenz des Template-Autoren.. die Schritte haben da nix verloren. Der sollte weder initialisieren, noch commiten. :rolleyes:

Yeoman, QUnit... das ist halt alles schon ziemlich vintage :D
Ja, bei JS ist nach einem halben Jahr immer schon alles Vintage :p
Ich wollte Yeoman nur mal ausprobieren aber fand bis jetzt, dass die Templates insgesamt eher alt sind (1-4 Jahre) und deswegen auch viele veraltete Abhängigkeiten dabei sind.

QUnit: Seh ich effektiv nirgendwo im Einsatz. Aktuell nutzt die Mehrheit Jest für Unit-Tests. Mich würden aber selbst mal die Unterschiede zwischen den ganzen Unit-Test-Libraries interessieren. Auf den ersten Blick wirken sie nämlich sehr ähnlich.
QUnit ist eine Zumutung. So stelle ich mir Tests in 2005 vor. Da muss man HTML-Dateien editieren usw... jaja, ich bin verwöhnt, ich weiß. ;) Na gut, so schlimm ist es nicht. Aber ich finds gewöhnungsbedürftig, Testframeworks im Browser auszuführen.

So weit ich das feststellen konnte:

QUnit
  • ursprünglich nur für interne jQuery-Tests gedacht, später davon entkoppelt
  • man hat Testrunner in HTML-Dateien und bindet dort seine Scripte und QUnit ein, standardmäßig laufen auch Ausführung und Testberichte über die HTML-Dateien
  • Fokus liegt auf Client-Code, geht aber auch für alles
  • wahrscheinlich ganz gut, wenn man an jQuery-Plugins arbeiten möchte
  • Hauptvorteile:
    • kein Server notwendig, die JSVM vom Browser reicht
    • wie bei jQuery gibts auch bei QUnit sehr viele Plugins und es ist stark erweiterbar, dadurch kann es auch mehr oder weniger alles, was die anderen Frameworks auch können
    • bringt eigene assertion-Library mit
Mocha
  • eher behaviour driven -Tests (damit kann man Szenarien modellieren)
  • Fokus liegt auf Server-Code, kann aber auch Client
  • bringt keine eigenen assertion-Libraries mit
  • Ausgabeformate einstellbar, sodass man die Anzeige der Ergebnisse zB auch an eine IDE koppeln kann

Jest
  • wie mocha
  • bietet aber zusätzlich noch out of the box Mocking und Snapshot-Unterstützung

Tipp: Einfach nicken und lächeln. :D
'This is fine'-Meme hier einfügen :D
 

alinnert

Mitglied
Klingt plausibel, dass der Scaffolder davon ausgeht, ein neues Projekt anzulegen. Aber find ich nicht gut.
Scaffolding bedeutet ja ein neues Projekt anzulegen. Mehr als das kann Yeoman gar nicht. Also, wenn du kein neues Projekt anlegen willst, musst du was anderes suchen.

(Ich hab mal angefangen, ein Tool zu schreiben, das Dateien aus Templates in existierende Projekte einfügt, weil allein schon dafür Yeoman nicht geeignet ist. z. B. neuen Controller, neue Komponente, Konfiguration für ein Tool etc. anlegen. Bisher wurde aber noch nix handfestes draus.)

Ja, bei JS ist nach einem halben Jahr immer schon alles Vintage
QUnit und Yeoman haben auch schon 12 bzw. 8 Jahre aufm Buckel. Ich hab eher das Gefühl, dass sich seit React nicht mehr viel tut, und das ist inzwischen auch schon 7. (React kam nur ein Jahr nach Yeoman? 😐)

Ok, wie man mit QUnit arbeitet hab ich wohl verdrängt 😅 Ist lange her... Aber ja, abgesehen von diesem halt, wie du schreibst, ist Jest vergleichbar mit Mocha.
 
Oben Unten