Wie können Sie die gleichen Tests durchführen wie Aufwand mit nur Moq?


Frage

Zur Zeit habe ich eine Reihe von Tests durchgeführt, einschließlich Tests der Datenzugriffsschicht und der Business-Logik-Schicht mit Hilfe von Effort (siehe https://effort.codeplex.com/ ). Wir haben bereits Moq in unseren Komponententests verwendet, und mein Chef möchte die Dinge einfach halten, also möchte er, dass ich sehe, ob ich die Tests von der Effort-Implementierung auf uns nur Moq und FakeDbSet verschieben kann (siehe http: // aikmeng.com/post/62817541825/how-to-mock-dbcontext-and-dbset-with-moq-for-unit ), um die Verwaltung der Codebasis zu vereinfachen.

Von dem, was ich verstehe, imitiert Aufwand im Grunde eine gesamte SQL Server-Datenbank im Speicher. Es scheint also so, als würde es eine Menge Code erfordern, der Moq verwendet, um alles einzurichten, so dass ein Test nur mit diesem ausgeführt werden kann. Hat jemand darüber irgendwelche Gedanken? Kann es sogar ohne eine große Menge an Code gemacht werden? Hat jemand irgendwelche Vorschläge? TIA.

Akzeptierte Antwort

Schluss damit, mit Anstrengung zu bleiben. Die Verwendung von FakeDbSet und Moq erforderte viel mehr Setup und führte dazu, dass einige LINQ-Abfragen in den Komponententests fehlschlagen, obwohl sie in einer Produktionssituation arbeiten.

AKTUALISIEREN:

Es stellte sich heraus, dass es kein Problem mit FakeDbSet oder Moq war - es gab Probleme in meiner LINQ-Abfrage, wo es fehlschlagen würde, wenn null String-Werte wären.





Lizenziert unter: CC-BY-SA
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum