Jest: [Frage] Eignet sich Jest gut für Back-End-Komponententests?

Erstellt am 4. Aug. 2016  ·  3Kommentare  ·  Quelle: facebook/jest

Ich habe Jest bisher geliebt, React-Komponenten zu testen.

Ich habe Mocha/Jasmine jedoch zum Testen von Node-Backends verwendet/verwendet und wollte nur fragen, ob es möglich (und empfohlen) ist, Jest zum Backend-Testen zu verwenden, da ich in den Dokumenten keinen Hinweis darauf finden konnte (React , React-Native, Async, Webpack, dh kein Node )

Ich habe gerade versucht, es zu verwenden, und leider bin ich sofort auf eine Straßensperre gestoßen. brcypt löst eine [SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random() Warnung aus und der Test schlägt aufgrund eines Laufzeitfehlers fehl ( TypeError: Path must be a string. Received undefined )

Ist es jetzt möglich, Jest für Backend-Tests zu verwenden, oder ist es nicht Teil des Projektumfangs und etwas wie Jasmine passt besser?

Hilfreichster Kommentar

Welche Art von Back-End-Tests versuchen Sie durchzuführen? Jest selbst verwendet Jest für Tests und viele Bibliotheken verwenden Jest zum Testen. Können Sie ein Repository auf Github bereitstellen, das ich für npm install und npm test , das Ihr Problem zeigt?

Zwei Dinge, die ich empfehle: Versuchen Sie, "automock": false und "testEnvironment": "node" . Wenn Ihre anderen Tests darauf basieren, können Sie eine separate Jest-Konfiguration erstellen und jest mit --config=pathToConfig.json ausführen und modulePathIgnorePatterns , um die Frontend-Tests zu ignorieren.

Alle 3 Kommentare

Welche Art von Back-End-Tests versuchen Sie durchzuführen? Jest selbst verwendet Jest für Tests und viele Bibliotheken verwenden Jest zum Testen. Können Sie ein Repository auf Github bereitstellen, das ich für npm install und npm test , das Ihr Problem zeigt?

Zwei Dinge, die ich empfehle: Versuchen Sie, "automock": false und "testEnvironment": "node" . Wenn Ihre anderen Tests darauf basieren, können Sie eine separate Jest-Konfiguration erstellen und jest mit --config=pathToConfig.json ausführen und modulePathIgnorePatterns , um die Frontend-Tests zu ignorieren.

Danke für die schnelle Antwort @cpojer!

Schön zu hören, dass Jest mit Node verwendet werden kann! Ich dachte, es wäre so, da es sich im Wesentlichen um eine Testbibliothek handelt und die API einfach funktionieren sollte, aber ich hatte das Bedürfnis, danach zu fragen, zumal es fast keine Online-Ressourcen gibt, die zeigen, dass sie mit Node-Backends und hauptsächlich mit Reagieren (oder meinem Google-Fu .) verwendet wird war einfach nicht gut genug).

Ich habe mich bereits über mein node_modules lustig gemacht, also war das nicht der Fall, aber testEnvironment: node hat es geschafft!

Beifall!

Ja, die Standardumgebung ( jsdom ) eignet sich nicht immer gut zum Testen von Knoten. Ein weiterer Vorteil ist, dass der Knoten env 500 ms schneller lädt (effektiv sofort), da jsdom etwas langsam ist.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen