Frage

Ich bin c # und für Unit-Tests und Integrationstests verwenden in der Regel brauche ich Felder automatisch basierend auf Attributen zu füllen.

Können sagen, wir werden prüfen, ob wir und wieder Benutzerdaten in der Datenbank schreiben.

  • Ich erstelle ein Benutzerobjekt zu füllen Felder Benutzer-Datenbank schreiben
  • liest Benutzerobjekt aus der Datenbank
  • Prüffelder wenn das, was ich schreibe, ist das gleiche wie das, was ich gelesen

Gibt es einen Rahmen automatisch Benutzer mit Testdaten zu füllen und prüfen, ob zwei Objekte sind die gleichen Werte haben?

Beispielcode kann wie diese

User user = new User();
AutoPopulator.Populate(user);
user.Save();
War es hilfreich?

Lösung

Hier finden Sie aktuelle NBuilder . Damit können Sie Prüflingen mit zufälligen Daten, Inkrementieren Werte bauen, und alles, was Sie wahrscheinlich denken. Alle durch eine schöne fließend Schnittstelle.

Andere Tipps

Sie könnte es relevant finden. Hier ist eine Liste von einigen anderen Frameworks wie heute:

Bekannte und respektiert:

Wenig bekannte:

Ungewohnte:

Ja, es gibt. Ich dies gefunden, wenn Session # beobachten 3 des Summer of NHibernate Serie von Stephen Bohlen .

Seine Firma, Microdesk hat ein Dienstprogramm entwickelt, das Ihnen erlaubt, den Zustand einer Datenbank zu speichern Vorrichtungsbau auf Test, stellen Sie den Zustand der Datenbank zu Beginn jedes Tests, und erholen sich in den ursprünglichen Zustand der Datenbank auf Prüfadapter Dekonstruktion.

Laden Sie das Dienstprogramm hier: Microdesk.Utility.UnitTest

Für eine Anleitung, wie man es benutzen, beobachten Sie die Summer of NHibernate Sitzung # 3 Video.

Fluent NHibernate hat eine Funktion, die Ihnen alles auf Ihrer Wunsch-Liste gibt, mit Ausnahme des Auto-Population Teil:

Link: http://wiki.fluentnhibernate.org/Persistence_specification_testing

Angesichts der Tatsache C # mit Code Verträgen, wäre es nicht zu hart sein, um Auto-magisch erstellen gültige Objekte selbst Reflexion verwendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top