2012-04-13 17 views
8

Welche Frameworks würden Sie für das Schreiben von Komponententests für Multithreading-Code in Java empfehlen? 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).Frameworks für Unittests für Multithreading in Java

Antwort

3

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

2

Ich empfehle ContiPerf2, da es ein sehr einfach zu bedienendes Framework ist. Obwohl ich nicht glaube, dass es die Möglichkeit bietet, Ausführungswege oder ähnliches zu deklarieren.

1

können Sie parametrisierte JUnit-Tests verwenden, wie hier beschrieben: http://junit.org/junit/javadoc/4.5/org/junit/runners/Parameterized.html

Aber Sie werden sich Thread Logik programmieren müssen, beispielsweise durch verschiedene Thread-Pools verwenden.

Sie können sich den Pfadfinder (http://javapathfinder.sourceforge.net/) ansehen, wenn Sie beweisen möchten, dass Ihr Code threadsicher ist.