Struktur für Komponententests auf node.js mit mongoose

8

Ich habe mit node.js seit Monaten entwickelt, aber jetzt beginne ich ein neues Projekt und ich würde gerne wissen, wie man die App strukturiert.

Mein Problem kommt, wenn ich über Komponententests spreche. Ich werde nodeunit verwenden, um Komponententests zu schreiben.

Ich verwende auch Express, um meine REST-Routen zu definieren.

Ich habe darüber nachgedacht, meinen Code zu schreiben, der auf Datenbanken in zwei "separaten" Dateien zugreift (Sie werden natürlich mehr sein, aber ich versuche nur, den Code zu vereinfachen). Es wird den Routencode geben.

%Vor%

Und, da ich dort arbeite, ein Item-Service, der nur für den Zugriff auf die Datenebene verwendet wird. Ich tue dies, um nur die Datenzugriffsebene beim Komponententest zu testen. Es wird etwa so sein:

%Vor%

Auf diese Weise kann ich prüfen, ob die Einheit richtig funktioniert, und ich kann diesen Code überall verwenden, wo ich möchte. Das einzige, was ich nicht sicher bin, ob es richtig gemacht wurde, ist die Art, wie ich eine Callback-Funktion übergeben, um den zurückgegebenen Wert zu verwenden.

Was denkst du?

Danke!

    
Javier Manzano 27.12.2012, 14:43
quelle

1 Antwort

2

Ja, ziemlich leicht! Sie können ein Unit-Test-Modul wie mocha und entweder die eigene Assertion eines Knotens oder eine andere wie sollte .

Als Beispiel für einen Testfall für Ihr Beispielmodell:

%Vor%

Und so weiter, ad nauseuse.

Wenn Sie mit dem Schreiben Ihrer Tests fertig sind - vorausgesetzt, Sie haben $ npm install mocha 'd - dann würden Sie einfach $ ./node_modules/.bin/mocha oder $ mocha ausführen, wenn Sie npms -g-Flag verwenden.

Hängt davon ab, wie rectal / detailliert Sie wirklich sein möchten. Ich wurde immer darauf hingewiesen und finde es einfacher: Schreiben Sie zuerst die Tests, um eine klare Spezifikationsperspektive zu erhalten. Dann schreiben Sie die Implementierung gegen die Tests, mit jedem zusätzlichen Einblick ein Freebie.

    
rounce 29.12.2012, 02:48
quelle

Tags und Links