En mi trabajo, usamos una plataforma escrita en Java con lógica comercial escrita principalmente en JavaScript y ejecutada por Nashorn (creo que también podría ser Rhino o GraalVM). Esta decisión se justificó por la capacidad de actualizar dinámicamente los metadatos del dominio comercial y los formularios GUI en el cliente.
Este código JS se encuentra tanto en archivos .js separados como dentro de etiquetas en archivos .xml . Los archivos XML contienen descripciones de formularios de GUI para el motor de GUI de Swing personalizado, y JS en etiquetas XML se usa para los controladores de elementos de formulario.
El problema es que ninguno de estos códigos JS tiene pruebas automatizadas.
No tengo experiencia en pruebas automatizadas, solo usé JUnit un par de veces y no entiendo si es posible probar dicho código JS.
¿Alguno de ustedes ha escrito alguna vez pruebas automatizadas para el código que se ejecuta desde algún otro código? ¿Es posible (especialmente como una tarea de Maven), y si lo es, cómo se puede hacer?
He buscado ejemplos pero no pude encontrar nada para señalar la dirección.
Además: ¿es posible depurar dicho código de otra manera que no sea console.log() y buscar/grepping en los registros? Entiendo que es otra pregunta, pero para mí, ambos son partes del mismo problema porque, sin pruebas, cada cambio que involucra alguna manipulación de datos termina con el código inicial cubierto con console.log() que luego elimino antes de confirmar.