Testen von Datenbank-code in NodeJS

Einsatz Von PostgreSQL.

Ich versuche ein geeignetes test-suite für eine API. So weit es funktioniert, aber die tests werden durchgeführt, auf der Haupt-Datenbank direkt. Dann habe ich zu entfernen alles, was meine tests erstellt oder bearbeitet in diesem Fall.

Ich weiß, es ist eine schlechte Sache zu tun (weil ich vergessen können, um wieder eine änderung, oder mess up der Sequenzen). Also ich würde gerne eine test-Datenbank mit der gleichen Struktur und Basis-Daten, und löschen Sie ihn danach. Ist dieser Ansatz, der gut zu nehmen in diesem Fall?

Und wenn ich will es so machen, wie soll ich es tun? Gibt es eine Möglichkeit in NodeJS zum ausführen einer SQL-Skript? Ich habe versucht, mit einem shell-Skript, aber so weit ist es ein komplett Durcheinander mit den Berechtigungen, so dass ich dachte, es würde einfacher sein, mit NodeJS direkt.

Bin ich mit Mocha für meine tests.

  • Sind diese test für die API-Endpunkte, oder für Ihre Modelle?
  • Für die API-Endpunkte. Ich Teste jede route, versuchen Sie jeden edge-Fall kann ich mir vorstellen, versuchen, gute und böse Wünsche. Diese Anforderung oft erstellen Sie Zeilen in der Datenbank, die verwendet werden in den kommenden tests. Ich bin mir nicht sicher, ich mache von diesem Recht aber.
  • Wenn Sie möchten, um Ihre tests fest, ich würde vorschlagen, verspotten Sie Ihre Daten, anstatt Sie einrichten ein weiterer Punkt des Scheiterns (db-verbindungen, Schemas, Fragen, etc.) die sind wirklich nicht in den Anwendungsbereich der Test-API-endpoints. Wenn Sie eine Verbindung zu einer Datenbank, dieser wandelt die tests von unit-tests, integration-tests. Beide haben Ihren Platz, aber Sie sollten nicht mischen Sie.
Schreibe einen Kommentar