2016-11-13 2 views
2

Da so etwas wie dies: nurKönnen Umgebungsvariablen für genau einen Test gesetzt werden?

it('uses env variables correctly', function(done) { 
    assert.equal(process.env.x * process.env.y, 10); 
}); 

Ich möchte die x und y Umgebungsvariable für diesen einen Test setzen. Ist das möglich? Hier

+0

Ich glaube nicht, das ist möglich in Knoten, könnten Sie normalerweise einen beforeTest Satz von Variablen durch den Knoten tun, indem Sie den 'X' Zugriff und 'Y' von der process.env globale Variable, aber das ist eine schlechte Praxis. Eine Frage, warum sollten Sie NodeJs Funktionalität testen? Vielleicht sollten Sie die Notwendigkeit dieses Tests überdenken. – pkanev

Antwort

7

ist die häufigste Methode:

describe('env', function() { 
    var env; 

    // mocking an environment 
    before(function() { 
    env = process.env; 
    process.env = { x: 2, y: 5 }; 
    }); 

    // running tests 
    it('uses env variables correctly', function (done) { 
    assert.equal(process.env.x * process.env.y, 10); 
    done(); 
    }); 

    // restoring everything back 
    after(function() { 
    process.env = env; 
    }); 
}); 
Verwandte Themen