Für das Projekt, an dem mein Team und ich arbeiten, stellen wir häufig fest, dass wir große Teile des Gerüstcodes benötigen. Das Erstellen von Domänenobjekten mit korrekten Werten, das Einrichten von Mocks für Repositorys, der Umgang mit dem Cache usw. sind alles Dinge, die während der Tests häufig vorkommen. Oft arbeiten wir mit denselben Basisobjekten, die für unsere Domäne von zentraler Bedeutung sind (Person, ...), sodass bei vielen Tests Instanzen dieser Objekte erstellt werden, an denen andere Objekte arbeiten können. Wir haben viele verschiedene Lösungen, die die Basisdomäne verwenden, daher wird diese Art von Code häufig auf diese Lösungen verteilt.
Ich habe darüber nachgedacht, gemeinsame Klassen zu schaffen, die einen Großteil dieses Gerüsts übernehmen. Dies würde es uns ermöglichen, eine vollständig instanziierte Person mit allem, was eingerichtet ist (Zugriff über Repository, Caching ...), anzufordern. Dies entfernt doppelten Code aus unseren einzelnen Komponententests, würde aber auch bedeuten, dass es eine große Menge an Code gibt, die wahrscheinlich "zu viel" pro Test ausführt (da dies ein vollständiges Objekt und nicht nur die erforderlichen Teile einrichten würde).
Hat das jemals jemand gemacht? Gibt es Erkenntnisse, Bemerkungen, Gedanken ..., die Sie anbieten können, um diesen Ansatz zu bestätigen oder ungültig zu machen?