¿Alguna sugerencia sobre cómo escribir pruebas de unidades repetibles para el código que puede ser susceptible a interbloqueos y condiciones de carrera?Pruebas unitarias, interbloqueos y condiciones de carrera
En este momento me estoy inclinando hacia las pruebas de la unidad de omisión y centrándome en las pruebas de estrés. El problema con eso es que puedes realizar una prueba de esfuerzo 5 veces y ver cinco resultados diferentes.
EDIT: Sé que es probablemente solo un sueño, pero si hubiera una manera de controlar los hilos individuales y hacer que ejecuten una instrucción a la vez, entonces podría llegar a algún lado.
* Descargo de responsabilidad: Trabajo en Typemock. * He visto los comentarios sobre Typemock Racer y quiero aclarar algunas cosas: 1. Racer es ** no ** una "herramienta de prueba de estrés" que utiliza estática y dinámica algoritmos de análisis para descubrir interbloqueos en el código .NET. Esto significa que en caso de que no se encuentre un punto muerto utilizando Racer, no existe un punto muerto (a menos que tengamos un error :)). 2. Estamos trabajando duro para agregar el descubrimiento de condición de carrera a Racer: en las versiones futuras (cercanas) tendremos el análisis de Condición de carrera, pero la versión actual solo encuentra un punto muerto. 3. Finalmente - Racer está en su etapa Alpha, lo que significa que es gratis para descargar y usar. B –