tengo la estructura clásica para las pruebas, tengo un conjunto de pruebas de diferentes suites como DatabaseTests, unittests etc. A veces esas suites contiene otras suites como SlowDatabaseTests, etc. FastDatabaseTests¿Cómo puedo hacer que mis pruebas JUnit se ejecuten en orden aleatorio?
Lo que queremos es cambiar aleatoriamente el orden de marcha de pruebas, así me aseguraré de que no sean dependientes entre sí. La aleatorización debe ser en todos los niveles, como suite, debe barajar el orden de la clase de prueba, y la clase de prueba debe mezclar el orden del método de prueba.
Si es posible hacer esto en Eclipse será lo mejor.
Aleatorizar el orden no probaría nada, ya que el azar podría funcionar "por accidente". Además, no sería repetible, por lo que nunca sería posible rastrear la causa de un error. – skaffman
Si escribo mi orden de ejecución en alguna parte cada vez que se ejecutan pruebas, podré seguir la causa. – nimcap
Puede hacerlo repetible dando a Random() una semilla que es una función de la fecha sin el tiempo. Si haces esto, te recomiendo una compilación continua para que notes cuándo fallan las pruebas. – NamshubWriter