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
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.
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?
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.
- 1. Wie in meinem Modell von ASP.NET MVC_CodeFirst
- 2. Wie kann ich einer Sammelliste in meinem Modell Zeilen hinzufügen?
- 3. wenn ich Zeile in meinem Datagrid drücke, wie man das Bild in der Datenbank zeigt?
- 4. Wie kann ich meine iPad App auf meinem iPad testen?
- 5. Ich mag das Typ-Feld von meinem STI Modell
- 6. Wie kann ich Datenbank-bezogenen Code mit NUnit testen?
- 7. sqlite Name der angehängten Datenbanken
- 8. Wie kann ich eine gefälschte Datenbank für das Testen von Einheiten gegen Knex verspotten?
- 9. Wie kann ich Text testen, der in Eingabeelemente eingefügt wird?
- 10. Wie Modell Methode testen django
- 11. Wie kann ich eine ASP.Net MVC View testen?
- 12. put-Methode aktualisiert das Modell in der Datenbank nicht nodejs
- 13. Wie kann ich das Modell in ASP.NET MVC und Entity Framework erweitern?
- 14. Wie kann ich einer Datenbank zuerst eine Eigenschaft hinzufügen Modell, das nicht Teil der Datenbank sein wird
- 15. Wie kann ich programmatisch auf Cookies testen?
- 16. Wie kann ich eine Kerndatenmigration testen?
- 17. Wie kann ich jQuery Sortable mit dynamisch angehängten Zielelementen aktualisieren?
- 18. Kann ich SQLite-Datenbank in meinem WP7 applicaton
- 19. Wie kann ich Datenbankmigrationen testen?
- 20. Wie kann ich meine App auf meinem Handy testen? Ich habe Eclipse mit Android Plug-in
- 21. Wie kann ich Stunnel testen?
- 22. Testen der Modellbindung in ASP.NET MVC 2
- 23. SQL Server - Testen der Datenbank
- 24. Wie kann ich Schienen Cache-Feature testen
- 25. Das Modell in MVC
- 26. Wie kann ich meinem Programm den Namen des Benutzers aus der Datenbank in JtextField anzeigen lassen?
- 27. ASP.NET ASPNETDB.MDF Kann Datenbank
- 28. Sollte ich zuerst die Anwendung oder das Modell (Datenbank) entwerfen?
- 29. Wie kann ich Laravel-Ereignisse richtig testen?
- 30. Wie kann ich schnell auf das Vorhandensein eines Xservers testen
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