Welche Frameworks empfehlen Sie zum Schreiben von Komponententests für Multithreading-Code in Java? Wenn Sie zum Beispiel ein Programm haben, das eine Reihe von Threads mit mehreren erlaubten Ausführungswegen und bestimmten ausgeschlossenen Pfaden ausführen soll (so wie die ausführbaren Einheiten 1, 2 und 3 parallel laufen können, sollten mindestens zwei ausgeführt werden) parallel, und 4 muss immer nach 3 ") laufen.
Ich empfehle, über JUnit @Rule
zu lesen Verwenden Sie sie für Parallelitätstests.
Ich empfehle ContiPerf2 , da es ein sehr einfach zu verwendendes Framework ist. Obwohl ich nicht denke, dass es die Möglichkeit bietet, Ausführungswege oder ähnliches zu deklarieren.
Sie können parametrisierte JUnit-Tests verwenden, wie hier beschrieben: Ссылка
Aber Sie müssen Thread-Logik selbst programmieren, zum Beispiel indem Sie verschiedene Thread-Pools verwenden.
Sie können sich Pathfinder (http://javapathfinder.sourceforge.net/) ansehen, wenn Sie beweisen wollen, dass Ihr Code Thread-sicher ist.
Dieser Thread beschreibt einige allgemeine Ansätze zum Testen von gleichzeitigem Code.
Entwerfen einer Testklasse für eine benutzerdefinierte Barriere
Für bestimmte Frameworks hat tempus-fugit einige JUnit Regeln, um Dinge parallel auszuführen , aber wie oben vorgeschlagen, werden Ihre Tests wahrscheinlich mehr Logik enthalten müssen.
Tags und Links java unit-testing multithreading concurrency