2012-04-13 29 views
8

¿Qué frameworks recomendarías para escribir pruebas unitarias para código multihilo en Java? Como, por ejemplo, cuando tienes un programa que se supone que debe ejecutar un conjunto de subprocesos con varias rutas de ejecución permitidas y ciertas rutas excluidas (como "la unidad ejecutable 1, 2 y 3 pueden ejecutarse en paralelo, al menos dos deben ejecutarse" en paralelo, y 4 siempre debe ejecutarse después de 3 ").Frameworks para Unittest para Multithreading en Java

Respuesta

3

Sugiero leer sobre JUnit @Rule para usarlos en las pruebas de concurrencia.

2

Recomiendo ContiPerf2 ya que es un marco muy fácil de usar. Aunque no creo que brinde la posibilidad de declarar pausas de ejecución o algo así.

1

Puede utilizar las pruebas JUnit parametrizados, tal como se describe aquí: http://junit.org/junit/javadoc/4.5/org/junit/runners/Parameterized.html

Pero tendrá que programar la lógica de rosca a sí mismo, por ejemplo mediante el uso de diferentes conjuntos de subprocesos.

Puedes echar un vistazo a Pathfinder (http://javapathfinder.sourceforge.net/) si quieres demostrar que tu código es seguro para subprocesos.