Pregunta

Estoy investigando el uso de pruebas unitarias paralelas para nuestro proyecto (s) y me preguntaba sobre las mejores prácticas para realmente escribir tales pruebas unitarias paralelas.

¿Fue útil?

Solución

Si por pruebas unitarias paralelas te refieres a pruebas que pueden ejecutarse simultáneamente, el consejo más importante que puedo darte es evitar los llamados accesorios compartidos.

El libro xUnit Test Patterns describe el término Fixture, que básicamente puede ser descrito como todo el contexto en el que se ejecuta cada caso de prueba, incluidos los datos persistentes y transitorios .

Un accesorio compartido indica que los casos de prueba comparten algún contexto mientras se ejecutan. Si ese contexto es mutable, pueden ocurrir condiciones de carrera.

Mantener un accesorio compartido inmutable (el llamado accesorio compartido inmutable) le permitirá ejecutar pruebas en paralelo, pero aún mejor, los llamados accesorios nuevos (donde cada caso de prueba tiene su propio accesorio) son seguros para subprocesos. definición, ya que solo el caso de prueba en sí tiene acceso al Fixture.

Los ejemplos de accesorios compartidos incluyen cualquier tipo de prueba que use una base de datos compartida, pero también incluyen pruebas en las que tiene un estado estático en memoria en el Sistema bajo prueba (SUT) o en las pruebas mismas, por lo que debe evitar eso .

También debe tener en cuenta que si su SUT accede a datos compartidos (estáticos), ese acceso debe ser seguro para subprocesos.

Otros consejos

Algunos enlaces interesantes para usted:

Organizar pruebas unitarias

Ejecutando pruebas de unidad en paralelo

Hay algunas respuestas interesantes en estas preguntas de Stackoverflow. Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top