2009-07-01 2 views
0

habe ich ein Standard ASP.NET MVC Projekt und dann hinzugefügt, um eine SQL Express Datenbank im App_Data Ordner. Die Verbindungszeichenfolge wird in die Datei web.config aufgenommen. Ich erstellte dann ein LINQ to SQL Datenmodell für die Datenbank. Ich möchte das Datenmodell aus meinem Testprojekt testen, aber ich weiß nicht, wie ich das richtig machen soll, weil ich eine angehängte Datenbank verwende. Da die Datenbank an das MVC-Projekt und nicht an das Testprojekt angehängt ist, wie kann ich dann vom Testprojekt darauf zugreifen?Wie kann ich das Modell der angehängten Datenbank in meinem ASP.NET MVC-Projekt testen?

Antwort

0

Wenn Sie über Komponententests sprechen, sollten sie in der Lage sein, ohne die Datenbank zu laufen. Die Idee ist, dass Ihr Code in wiederverwendbare Blöcke aufgeteilt wird, die einzeln getestet werden können, indem mocked/stubbed-Daten übergeben werden.

+0

Thx für Ihre schnelle Antwort! Bedeutet dies, dass Komponententests nicht zum Testen des Datenmodells mit Live-Daten verwendet werden sollten? Ich dachte, es wäre ein genauerer Test, wenn ich Live-Daten anstelle von fabrizierten Daten verwende. LOL Vielleicht habe ich den Zweck des Komponententests nicht verstanden. Aber ich hoffe immer noch, dass jemand das schon einmal gemacht hat und lass es mich wissen, wenn es möglich ist. – anonymous

0

Sohnee hat Recht; Ein Komponententest sollte keine Abhängigkeiten von Ihrer Produktionsdatenbank haben. Es sieht so aus, als ob Sie einen breiteren Integrationstest durchführen möchten, vielleicht?

Ich könnte etwas ins Detail gehen, aber ich glaube nicht, dass es das ist, wonach Sie suchen. Könnten Sie näher erläutern, was Sie meinen oder erreichen wollen, indem Sie das Datenmodell testen?

0

Einige Schulen des Gedankens sind sehr streng auf, was in einen Unit Test gehen sollte und nicht. Andere nicht so sehr.

Es geht alles um Vorlieben, denke ich. Denken Sie daran, dass es leicht ist, das echte Ding zu testen, wenn Sie alles ausspionieren.

Aber um Ihre Frage zu beantworten, was passiert, wenn Sie nur den Datenkontext in Ihrem Test erstellen? Können Sie dagegen abfragen, oder erhalten Sie seltsame Verbindungsausnahmen?

Wenn Letzteres der Fall ist, und Sie immer noch gegen Ihre Datenbank testen möchten, müssen Sie die Datenbankdatei an einen beliebigen Ort kopieren, den Ihr Test erreichen kann. Wie auch immer, Sie können die Verbindungszeichenfolge an den Datenkontextkonstruktor übergeben.

Verwandte Themen