Unit Test mit Mungo
Ich bin neu bei Node.js, Mongoose, und teste in dieser Umgebung. Ich habe das folgende Schema in einer separaten Datei deklariert.
Issue = mongoose.model("Issue", {
identifier: String,
date: String,
url: String,
name: String,
thumbnailURL: String
});
Dann habe ich diese Methode, die einfach alle zurückgibtIssue
Instanzen in der MongoDB-Sammlung.
function issues(request, response) {
response.setHeader('Content-Type', 'text/json');
Issue.find().sort('date').exec(function(error, items) {
if (error) {
response.send(403, {"status": "error", "error:": exception});
}
else {
response.send(200, {"issues": items});
}
});
}
Ich bin durch Experimente so weit gekommen, und jetzt möchte ich es testen, aber ich bin auf ein Problem gestoßen. Wie gehe ich vor, um es zu testen, ohne eine MongoDB-Verbindung usw. einzurichten? Ich weiß, dass ichkönnen Alles einrichten, aber das ist ein Integrationstest. Ich möchte Komponententests schreiben, um Dinge zu testen wie:
Stellt die Funktion den Inhaltstyp korrekt ein?Sortiert die Funktion nach demdate
FeldGibt die Funktion im Fehlerfall eine 403 zurück?... und so weiterIch bin gespannt, wie ich meinen vorhandenen Code überarbeiten kann, um ihn testbarer zu machen. Ich habe versucht, eine zweite Funktion zu erstellen, die aufgerufen wird und die akzeptiertresponse
undItem
Schemaobjekte als Parameter, aber es fühlt sich nicht richtig an. Hat jemand bessere Vorschläge?