Ich bin ziemlich neu zu TDD, aber habe es lange genug verwendet, um zu verstehen, wie man Mocks, Stubs, Abhängigkeitsinjektion, Inversion der Kontrolle verwendet, um "ähnliche" Probleme zu lösen ... aber aus irgendeinem Grund fühle ich mich sehr unwohl über die Verwendung Abhängigkeitsinjektion und Weitergabe in einem 'IThread' (oder ähnlich).Wie Unit-Test eine Methode, die Threads erzeugt?
Um einen grundlegenden Kontext zu geben - ich versuche Unit-Tests zu einer Legacy-Anwendung hinzuzufügen und ich bin unsicher, wie Unit-Test eine Klasse, die Konstruktor spawns zwei Threads ist.
Ist die einzige Option, die Abhängigkeitsinjektion zu verwenden?
Wenn ja, was ist mit der Funktionalität, die die Threads bringen? Wie es aussieht, laufen die Threads beide während (wahre) Schleifen und verlassen die Schleife nie (es sei denn, die Anwendung beendet). Innerhalb der Loops gibt es vernünftige Code-Stücke und es ist dieser Code, den ich wirklich testen möchte.
Um die Sache noch schlimmer zu machen möchte ich nicht alle Funktionalität aus den Schleifen und in öffentlichen Methoden (ich testen nur öffentliche Methoden, wie meine Tests in einem anderen Projekt existieren), wie es wirklich verringern wird Einfache Verwendung der Klasse an anderer Stelle im Code.
Irgendwelche Vorschläge?
Ja, das ist ein vernünftiger Kompromiss, da die Klasse, die ich teste, in einer Klassenbibliothek ist und nur extern verwendet wird. Das wird wirklich gut funktionieren, danke! – InvertedAcceleration