Ich arbeite an einem Legacy-System, das gespeicherte Procs, Business-Objekte und DTO verwendet: s. Die Geschäftsobjekte und die DTOs haben oft dieselben Eigenschaften. Wenn eine Methode in der Service-Schicht aufgerufen wird, die ein DTO zurückgibt, finden viele Transformationen statt. Gespeicherter Prozess -> Datensatz -> Business-Objekt -> DTO. Wenn eine neue Eigenschaft hinzugefügt wird, vergisst ein Entwickler manchmal, Code hinzuzufügen, der ihn von einem Layer/Objekt zu einem anderen verschiebt.Wie kann ich testen, dass für jede Eigenschaft in einem Objekt ein Wert festgelegt wurde?
In einigen Teilen des Systems löste ich dies mit AutoMapper, die Eigenschaften mit dem gleichen Namen automatisch projiziert.
Meine Frage ist für die anderen Teile. Kann ich irgendwie einen Komponententest schreiben, der prüft, ob jeder Eigenschaft in einem Objekt ein Wert zugewiesen wurde? Auf diese Weise könnte ich einen Integrationstest schreiben, der unsere Service-Schicht aufruft, und alle Transformationen müssen erfolgreich sein, damit der Test bestanden wird.
Ich denke, die Lösung würde Reflexion beinhalten.
True über die Standardwerte. Wir verwenden heute keinen IoC-Container, aber der Bedarf wird jeden Tag größer. – jimmystormig