Wie kann ich meinen Code (TDD) für Standard-CRUD-Operationen testen, ohne eine Datenbank zu haben? Ist es möglich, ein solches Maß an Isolierung zu erreichen, so dass mein Code datenbankunabhängig ist.
Vielen Dank, Leute.
Wie kann ich meinen Code (TDD) für Standard-CRUD-Operationen testen, ohne eine Datenbank zu haben? Ist es möglich, ein solches Maß an Isolierung zu erreichen, so dass mein Code datenbankunabhängig ist.
Vielen Dank, Leute.
Sie können die Geschäftsschicht (und einige Teile der Präsentationsschicht) mit Mock-Objekten testen.
Verwenden Sie Mocks/Fakes, so dass anstelle des Aufrufs der Datenbank von der DAL eine gefälschte Klasse aufgerufen wird, die einen vordefinierten Wert zurückgibt.
Um die DAL zu testen, benötigen Sie eine aktuelle Datenbank . Sie können ein Unit-Testing-Framework verwenden, um einfache CRUD-Tests in der Datenbank durchzuführen. Erstellen Sie eine einfache Testdatenbank sowie einen Wiederherstellungspunkt und verwenden Sie das Setup & Teardown des Unit-Testing-Frameworks, um sicherzustellen, dass sich Ihre Datenbank im erwarteten Zustand befindet.
Q1:
Wie kann ich meinen Code testen (TDD) für Standard-CRUD-Operationen ohne ohne eine Datenbank zu haben.
Ich sehe, dass der Beitrag mit nunit getaggt ist, also gehe ich von einem .net-Kontext aus. Angesichts dessen habe ich persönlich SQLite als In-Memory-Datenbank erfolgreich in einem Projekt für ein paar Monate Zeit jetzt (zusammen mit NHibernate und gemeinsame DDD-Muster) verwendet.
Q2:
Ist es möglich, ein solches Niveau zu erreichen Isolierung zu erreichen, so dass mein Code Datenbank unabhängig ist.
Ich glaube nicht, dass es möglich ist, vollständig datenbankunabhängigen Code zu schreiben, aber NHibernate bringt mich zu 95 % dorthin (aber diese Zahl hängt stark von Ihrem spezifischen Kontext ab).
Darüber hinaus kann mit guten Datenzugriffsmustern, z. B. "Repository" und "Unit of Work", der Rest der Codebasis zu 100 % datenbankunabhängig gemacht werden. Das Gleiche gilt für andere Datenquellen, z. B. CSV- und XML-Dateien.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.