Wie stosse process.env in node.js?
Ich will stub process.env.FOO
mit bar
.
var sinon = require('sinon');
var stub = sinon.stub(process.env, 'FOO', 'bar');
Ich bin verwirrt.
Ich lese Dokument, aber trotzdem verstehe ich nicht, noch nicht.sinonjs docs
sinonjs ist ein Beispiel, nicht sinonjs ist okay.
InformationsquelleAutor der Frage sanemat | 2014-07-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Von meinem Verständnis der
process.env
haben, können Sie einfach behandeln Sie wie jede andere variable, wenn Sie seine Eigenschaften festlegen. Halten Sie im Verstand, obwohl, dass jeder Wert inprocess.env
muss ein string sein. Also, wenn Sie einen bestimmten Wert im test:Zu vermeiden undicht Staat in anderen tests sicher sein, stellen Sie die variable auf den ursprünglichen Wert oder löschen:
InformationsquelleAutor der Antwort Joshua Dutton
War ich in der Lage zu bekommen
process.env
werden stubed richtig in meine unit-tests durch Klonen und in eine teardown-Methode wieder.Beispiel mit Mokka
Denken Sie daran, dies funktioniert nur, wenn der Prozess.env wird nur gelesen in der Funktion, die Sie testen. Zum Beispiel, wenn der code, den Sie testen die variable liest und setzt es in eine Schließung wird es nicht funktionieren. Sie wahrscheinlich zum erlöschen der Cache benötigen, um zu testen, richtig.
Beispielsweise die folgenden nicht die env Stubs:
InformationsquelleAutor der Antwort pllee
In einem
spec-helper.coffee
oder etwas ähnliches, wo Sie Ihr sinon sandbox, behalten Sie die original -process.env
und es wieder nach jeder Prüfung, so dass Sie nicht Auslaufen, die zwischen den tests und nicht daran denken müssen, immer zurückgesetzt.In Ihrem test verwenden
process.env
normal.InformationsquelleAutor der Antwort Andrew Homeyer