volte ottengo questo errore quando ho eseguito i test JUnit.Che cosa significa avere una java VM biforcuta?
Non sono esattamente chiedendo che cosa l'errore è. Voglio solo sapere cosa significa quando la Java VM si biforca?
volte ottengo questo errore quando ho eseguito i test JUnit.Che cosa significa avere una java VM biforcuta?
Non sono esattamente chiedendo che cosa l'errore è. Voglio solo sapere cosa significa quando la Java VM si biforca?
Un "VM forked" non è un errore (anche se l'errore che si ottiene potrebbe essere correlato ad esso).
Alcuni strumenti coinvolti in vari aspetti della compilazione e test (ad esempio Maven) sono scritti in Java e utilizzano la JVM per eseguirsi.
Se si eseguono i test unitari per l'applicazione senza eseguire la forking della VM, Maven eseguirà tali test all'interno della stessa VM di Maven in esecuzione. Pertanto, può essere influenzato da determinate impostazioni della VM (ad esempio alcune proprietà di sistema).
Per evitare effetti collaterali dovuti a Maven, è possibile eseguire i test in un VM biforcato, ovvero in una VM completamente separata che viene eseguita come un processo diverso nel sistema operativo.
(Questo si può applicare ad altri strumenti, Maven è solo un esempio.)
Crashing una VM biforcuta almeno permette di tornare a l'altra applicazione Java che ha iniziato e orchestrato questi test di unità. Se stavi eseguendo questi test all'interno della stessa VM, avresti anche eseguito il crash dell'applicazione che ha lanciato i tuoi test (ottenendo in tal modo pochissime informazioni in cambio).
A 'fork' is la terminologia utilizzata in Linux per indicare l'esecuzione di un altro processo (liberamente). In questo caso, una Java VM biforcuta è un processo secondario utilizzato per isolare i test di unità per classe o metodo, assicurando che non si verifichi alcun inquinamento di stato tra più test.
L'attività formica JUnit supporta più modalità di forking come si può vedere here.
Ho visto errori che indicano che una VM biforcuta è morta quando si utilizza JUnit. Ciò significa che il test è schiantarsi e che il corridore JUnit (di solito formica) non può ottenere qualsiasi dell'uscita.
Si dovrebbe provare a risolvere la causa dello schianto.
diramazione nel senso generale, eseguendo un'operazione jUnit in un'altra JVM. – CoolBeans
Significa che biforcuta fino male ... – Paul
@ Paolo - lol ... – CoolBeans