Saltar al contenido

NUnit 3: Prohibir que las pruebas se ejecuten en paralelo

El paso a paso o código que verás en este artículo es la solución más eficiente y efectiva que encontramos a esta inquietud o dilema.

Solución:

NUnit no garantiza que todas sus pruebas se ejecutarán en el mismo subproceso, por lo que la observación de que sus pruebas se ejecutan en diferentes subprocesos no significa que se ejecuten en paralelo.

La documentación solo establece que las pruebas se ejecutarán secuencialmente o en paralelo. Puede interpretar que esto significa que se ejecutan en el mismo hilo, pero hay muchas razones por las que la implementación interna puede requerir que las pruebas se ejecuten en diferentes hilos. El tiempo de espera es un ejemplo, donde generamos un hilo y lo matamos si la prueba se agota, pero hay muchos otros.

Las ejecuciones de prueba paralelas son nuevas en NUnit 3, por lo que la implementación interna cambió de NUnit 2. Un attribute que obliga a que todas las pruebas dentro de un subproceso se ejecuten en el mismo subproceso podría ser útil, así que no dude en enviar una solicitud de mejora.

Lo siento, no estoy familiarizado con MVVM Light, por lo que no puedo sugerir formas de volver al hilo OneTimeSetup.

Actualizar – Dado que este es un uso común con web y asíncrono, el equipo de NUnit ha decidido proporcionar un attribute que exigirá que las pruebas se ejecuten en el mismo subproceso que el dispositivo OneTimeSetup. Esto estará en la próxima versión, ya sea 3.4, o en una versión de revisión 3.2.1. Si desea realizar un seguimiento del progreso, consulte el problema y la solicitud de extracción.

Actualización 2 – Ahora puedes agregar SingleThreadedAttribute a un TestFixture para indicar al corredor que el OneTimeSetUp, OneTimeTearDown y todas las pruebas secundarias deben ejecutarse en el mismo subproceso.

Puede evitar que las pruebas se ejecuten en paralelo agregando el [NonParallelizable] attributeque se pueden agregar en el nivel de prueba, clase y ensamblaje.

Más adelante puedes encontrar los comentarios de otros programadores, tú aún eres capaz insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *