Frameworks für Unittests für Multithreading in Java [geschlossen]

8

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.

    
Tim van Beek 13.04.2012, 13:59
quelle

4 Antworten

3

Ich empfehle, über JUnit @Rule zu lesen Verwenden Sie sie für Parallelitätstests.

    
nobeh 13.04.2012 14:05
quelle
2

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.

    
Omnaest 13.04.2012 16:35
quelle
1

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.

    
hgrey 14.04.2012 00:05
quelle
1

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.

    
Toby 20.04.2012 09:52
quelle