2016-06-09 4 views
1

Ich schreibe gerade eine API für die Verwendung in einer privaten Umgebung. Einige der eingeführten Funktionen sind promisifizierte Versionen von Drittanbieterfunktionen.Wie Unit-Test-Code in Nodejs Einheit testen?

Beispiel:

Third-Party-Code:

function someFunction(argument, callback) { 
    var command = stuff; 
    return this.exec(command, parse_command(callback)); 
} 

Mein Code:

function promisifiedFunction() { 
    new Promise(function (resolve, reject) { 
     third-party.someFunction('argument', function (err, status) { 
      if (err) { 
       return reject(new Error("FOO")); 
      } else { 
       return resolve(status.result); 
      } 
     }); 
    }); 
} 

Wie kann ich richtig diese Funktionen Unit-Test?

(beachten Sie, dass der Code von Drittherstellern wurde bereits als Einheit getestet)

+1

Wenn Sie mit Komponenten außerhalb Ihres Projekts interagieren, werden Sie wahrscheinlich die Mocks der eingehenden Daten/Antworten erstellen – theaccordance

+0

Könntest du mir ein Beispiel schreiben, das eine konventionelle Methode dafür im Knoten zeigt? – MSB

Antwort

1

Sinon.js ist Werkzeug, das Sie zu Ihrer eigenen Bibliotheken von Drittanbietern ändern ihre Funktionalität und anpassen Funktionen zur Arbeit helfen. Es ist ein großes und komplexes Thema, ich kann es nicht in einem Kommentar oder in einer Antwort erklären, aber ich kann Ihnen eine Liste von Artikeln geben, die Ihnen helfen werden, die wichtigsten Konzepte zu verstehen. Diese Artikel haben mir geholfen, als ich angefangen habe zu testen mit hoffe, es wird dir auch hilfreich sein.

1) Official Documentation (Es deckt alle Themen, aber schwer von hier, nicht eine gute Dokumentation)

2) Article 1 (Große Artikel erklärt mit ilustrations)

3) Article 2 (Von lernen In diesem Artikel wird alles für mich klar)

+1

Danke das ist sehr informativ. – MSB

+0

Gern geschehen;) – kaxi1993

Verwandte Themen