2008-09-19 8 views

Antwort

1

Repository ist wahrscheinlich das beste Muster für die Testbarkeit, da es Ihnen ermöglicht, ein Repository durch einen Schein zu ersetzen, wenn Sie testen müssen. ActiveRecord bindet Ihre Modelle an die Datenbank (manchmal bequem, aber in der Regel schwieriger zu testen).

3

"Beste" Fragen sind nicht wirklich gültig. Die Welt ist voller Kombinationen und Variationen. Sie sollten mit der Frage beginnen, die Sie beantworten müssen: Welches Problem versuchen Sie zu lösen? Nachdem Sie das beantwortet haben, sehen Sie sich die Tools an, die am besten mit dem Problem funktionieren.

3

Während ich stimme "beste" Fragen sind nicht die größte Form (da sie so willkürlich sind), sie sind auch nicht völlig irrelevant.

In der Welt hier bei S.O. Wo Entwickler darüber abstimmen, was "am besten" ist, warum haben Sie nicht die besten Fragen? "Beste Fragen" führen zu Diskussionen und unterschiedlichen Meinungen.

Schließlich, wenn jemand "Datenzugriffsmuster" googelt, sollten sie auf diese Seite kommen und eine plethora der Antworten dann sehen, oder?

+0

Aber es gibt keinen Einblick in ein bestimmtes Problem, das versucht wird, zu lösen. Ich denke, Wikipedia ist besser, um Listen von Tools zu finden, als SO wäre. –

+0

Ich verstehe völlig, was Sie sagen, aber nicht jede Frage ist "besonders". Wenn Sie am Abgrund eines neuen Projekts stehen, möchten Sie vielleicht Einblick in eine Reihe konkurrierender Technologien. "Best" kann eine Abkürzung für eine bestimmte Pros-Cons-Liste aus dem Publikum in gewisser Weise sein. Wikipedia? So! –

+0

Ich habe wirklich nichts gegen die Diskussion, aber die Leute neigen dazu, sich an das Wort "am besten" zu klammern, so wie sie das Wort "Unternehmen" machen. –

1

Es hängt wirklich von Ihrer Aufgabe ab. Zumindest sollten Sie wissen und verstehen alle Datenbankzugriffsmuster, um eine für das aktuelle Problem am besten geeignet zu wählen.

+0

Ich denke, wenn ich alle Datenbankzugriffsmuster kennen und verstehen würde, würde ich nicht die Frage stellen. :) – Jim

1

Dies ist eine gute Frage, die einige Gedanken hervorrufen sollte.
Der Datenbankzugriff unterliegt oft keinen strengen Tests - insbesondere keine automatisierten Tests, und ich würde sicherlich die Anzahl der Tests in meiner Datenbank erhöhen.

Ich verwende das MbUnit-Testframework, das innerhalb von Visual Studio ausgeführt wird, um einige Tests durchzuführen.
Unsere Anwendung verwendet gespeicherte Prozeduren, wo immer es möglich ist, und die Tests, die ich geschrieben habe, richten die Datenbank zum Testen ein, rufen eine gespeicherte Prozedur auf und überprüfen die Ergebnisse.
Für eine Sammlung von verwandten gespeicherten Prozeduren haben wir eine C# -Datei mit Tests für diese gespeicherten Procs. (Unsere Abdeckung ist jedoch wahrscheinlich bis jetzt etwa 1%!).

Aktiver Datensatz ist eine attraktive Option, da Ruby einen Schwerpunkt auf automatisiertes Testen legt. Wenn ich neu anfangen würde, wäre das ein Punkt für die Verwendung von Active Record.