Estoy tratando de encontrar un marco de prueba de unidad, para la plataforma .NET, que pueda manejar pruebas con más de un hilo.Marco de prueba de unidad .NET que puede manejar pruebas con más de un hilo
NUnit no admite pruebas que abarquen hilos, ya que, por ejemplo, las excepciones en esos hilos no se tienen en cuenta. Hay una extensión de Roy Osherove, pero está bastante anticuada 1.
MBUnit permite que muchos subprocesos ejecuten una prueba simultáneamente, sin embargo, no sé si admite subprocesos creados dentro de un subproceso. Por ejemplo, para probar una recopilación concurrente, quiero que diferentes tipos de subprocesos (hilos de productor e hilos de consumidor) se ejecuten simultáneamente. Tener varios subprocesos ejecutando el mismo código de prueba no es suficiente.
Gracias Pedro
Creo que el resultado de las pruebas unitarias debe ser reproducible. Lo que ocurre con el multihilo es que la ocurrencia de condiciones de carrera y otros problemas de temporización dependen en gran medida del entorno en el que se está ejecutando el caso de prueba. Entonces esto me suena un poco contradictorio. – Jan
@ Jan Estoy de acuerdo en que necesitarías un control enorme para poder reproducir. Ejecutar una prueba de unidad con subprocesos significaría que el marco de prueba debe hacerse cargo por completo de la programación/subprocesamiento desde Windows, y usted tendría que especificar cada combinación de interrupciones de manera explícita. – Stefan