A veces obtengo este error cuando ejecuto las pruebas JUnit.¿Qué significa tener una máquina virtual Java bifurcada?
No estoy preguntando exactamente cuál es el error. Solo quiero saber lo que significa cuando el VM Java se bifurca.
A veces obtengo este error cuando ejecuto las pruebas JUnit.¿Qué significa tener una máquina virtual Java bifurcada?
No estoy preguntando exactamente cuál es el error. Solo quiero saber lo que significa cuando el VM Java se bifurca.
Una "VM bifurcada" no es un error (aunque el error que obtenga puede estar relacionado con ella).
Algunas herramientas que están involucradas en varios aspectos de la compilación y las pruebas (por ejemplo, Maven) están escritas en Java y usan la JVM para ejecutarse.
Si ejecuta pruebas unitarias para su aplicación sin bifurcar la VM, Maven ejecutará esas pruebas dentro de la misma VM que Maven. Por lo tanto, puede verse afectado por ciertas configuraciones de toda la VM (por ejemplo, algunas propiedades del sistema).
Para evitar los efectos secundarios causados por Maven, es posible ejecutar las pruebas en una VM bifurcada, es decir, en una máquina virtual completamente separada que se ejecuta como un proceso diferente en el sistema operativo.
(Esto puede aplicarse a otras herramientas, Maven es sólo un ejemplo.)
Estrellarse una máquina virtual en forma de horquilla, al menos, le permite volver a la otra aplicación Java que inicia y orquestado estas pruebas unitarias. Si estuvieras ejecutando estas pruebas dentro de la misma máquina virtual, también bloquearías la aplicación que inició tus pruebas (y obtendrás muy poca información a cambio).
A 'fork' fork 'is la terminología utilizada en Linux para denotar la ejecución de otro proceso (sin apretar). En este caso, una VM Java bifurcada es un proceso secundario utilizado para aislar las pruebas unitarias por clase o método, lo que garantiza que no se produzca contaminación del estado entre varias pruebas.
La tarea de hormiga JUnit admite múltiples modos de horquilla como se puede ver here.
He visto errores que indican que una VM bifurcada ha muerto al usar JUnit. Esto significa que su prueba es estrellándose y que su corredor JUnit (normalmente hormiga) no puede obtener ninguna de las salidas.
Debe intentar resolver la causa del bloqueo.
Bifurcación en el sentido general, al ejecutar una tarea jUnit en otra JVM. – CoolBeans
Significa que se bifurcó mal ... – Paul
@Paul - lol ... – CoolBeans