2016-11-23 2 views
1
sandbox = sinon.sandbox.create(); 

sandbox.stub(db, 'query',() => { 
    return Promise.resolve(); 
}); 

sandbox.stub(process, 'exit',() => { }); 

sandbox.restore(); entfernt alle Stubs.Wiederherstellen einzelner Stubs in Sandbox

Ich möchte einen Stub entfernen, damit ich ihn wiederherstellen kann. Zum Beispiel der query Stub.

Ist das möglich? Ich kann dazu keine Informationen finden.

Antwort

1

Sie können einzelne Methode wie folgt wiederherstellen:

db.query.restore(); 

für Ihren speziellen Fall.

Per Sinon Dokumentation:

var stub = sinon.stub (Object, "Verfahren");

Ersetzt object.method durch eine Stub-Funktion. Eine Ausnahme wird ausgelöst, wenn die Eigenschaft nicht bereits eine Funktion ist.

Die ursprüngliche Funktion kann durch Aufruf von object.method.restore(); (oder stub.restore();).

Siehe http://sinonjs.org/releases/v2.3.6/stubs/