tutorial sistema simatic siemens que programacion pcs7 pcs español distribuido dcs control arquitectura abb scala sbt

scala - sistema - ¿Cómo desactivar la ejecución paralela de pruebas para construcciones multiproyecto?



simatic pcs 7 manual español (5)

Tengo una compilación de proyectos múltiples con pruebas en subproyectos y en un proyecto principal. La compilación se agrega para que el proyecto principal ejecute todas las pruebas en proyectos secundarios.

Lo configuré para que no haya ejecución paralela de pruebas tanto en los subproyectos como en el proyecto principal, a través de

parallelExecution in Test := false

Sin embargo, tengo la molesta sensación de que las pruebas que abarcan varios proyectos se ejecutan en paralelo. En el caso de uno de los subproyectos, esto es un problema porque muta el estado en una base de datos de prueba simultáneamente, lo que hace que la prueba falle.

¿Alguna idea sobre cómo cambiar globalmente de ejecución paralela de pruebas, entre proyectos?


Creo que puede aplicar una configuración en todos los proyectos usando el alcance ThisBuild , como

parallelExecution in ThisBuild := false

No sé si puede combinar eso con la Test alcance, pero puede que no sea necesario.


Esto funcionó para mí en 1.1.0:

Test / parallelExecution := false


Otra posibilidad, basada en https://.com/a/27068019/1922026 , es definir un alias de comando en el proyecto raíz:

.settings(addCommandAlias("test", ";s1/test;s2/test;s3/test"): _*)

donde s1, s2 y s3 ​​son los subproyectos. Cuando esté en el proyecto raíz y ejecute "prueba", las pruebas se ejecutarán de forma secuencial y en el orden definido.


Para restringir el número de pruebas que se ejecutan simultáneamente en todos los proyectos, use:

concurrentRestrictions in Global += Tags.limit(Tags.Test, 1)

Ver la documentación de sbt.

Ver discussion