Wenn wir sagen, dass die Definition von schlechter Praxis in der Softwareentwicklung etwas ist, das Ihnen nicht hilft, mit Veränderungen umzugehen und sie zu verkapseln, dann würde ich sagen, dass es schlechte Praxis ist , Ihre Klassen und Tests nicht in einer Eins-zu-Eins-Beziehung zu halten . Es ist ein Code-Geruch, der aufgrund der unten genannten Dinge auftreten kann.
Offensichtlich gibt es Ausnahmen wie bei allem anderen, aber denken Sie daran, wenn Sie Ihre Tests schreiben.
Meine Klassen haben normalerweise maximal 5-20 Methoden.
Wenn eine Ihrer Klassen 20 (oder etwas weniger) Methoden hat, zeigt mir das, dass die Klasse überhaupt zu viel tut . Hier sollten Unit-Tests darauf hinweisen, dass Sie Ihre Klasse möglicherweise etwas weiter aufteilen und die Verantwortung verteilen müssen, bevor Sie mit dem Testen beginnen.
Um sie in derselben Klasse zu halten oder nicht, würde ich vorschlagen, wenn möglich zu versuchen , sie in einer Klasse zu halten, da dies besser verständlich ist - eine Eins-zu-eins-Verbindung ist nach langer Zeit leicht zu erfassen . Nur aus Erfahrung.
Wenn Sie feststellen, dass die Komponententests selbst bei 5 oder weniger Methoden sehr umfangreich sind , bedeutet dies, dass Ihr Setup-Code zu viel tut oder Ihre Objekte ungewöhnlich groß sind .
Wenn Sie das Builder-Muster zum Erstellen Ihrer Objekte noch nicht ausprobiert haben, kann dies den Code für das Erstellen Ihrer Objekte drastisch reduzieren, bevor Sie sie testen. Dadurch wird die Unit-Test-Klasse kürzer und Sie müssen sie weniger in mehrere Klassen unterteilen.