¿Trabajas con TDD? ¿Haces test unitarios con MSTests? ¿Tienes una máquina con varias cpus?.
Sip, parece un mundo ideal sobre todo por lo de hacer TDD, ;). Sin embargo como los TDDadores son como las meigas … (existir no existen, pero haberlas haylas). Seguramente tendrán máquinas multicore y posiblemente haran test con Visual Studio 2010 y MSTests.
En este post veremos cómo podemos ejecutar nuestros test unitarios en el modo MTA (Multiple Threaded Apartment), lo que se conoce como hacer que se ejecuten en paralelo. Y es que el modo por defecto de su ejecución es el STA (Single threaded apartment).
Para modificar este comportamiento tenemos que modificar el archivo de configuración de nuestros test unitarios. Vamos a ver cómo podemos hacerlo:
- Abrimos la solución que contiene los test unitarios que queremos ejecutar en paralelo.
2. En el explorador de soluciones abrimos el directorio Solution Items, hacemos clic derecho en el archivo de configuración de tests “Local.testsettings”. Seleccionamos el editor de texto o el editor de XML. Se nos mostrará el archivo en el editor.
- Para hacer que los tests unitarios se ejecuten en el modo MTA hay que añadir el atributo correspondiente en el elemento Execution de la siguiente forma:
<Execution>
<ExecutionThread apartmentState=”MTA” />
</Execution>
- Guardamos los cambios en el archivo.
-
Reiniciamos Visual Studio 2010 y una vez que volvamos a cargar la solución con los tests unitarios, éstos se ejecutarán en el modo MTA.
Espero que os sirva.
Juan María Laó Ramos.