Documentación
/

Pruebas y CI

Pruebas y CI

Usa una configuración separada para las pruebas funcionales cuando tus herramientas de pruebas puedan activar las defensas avanzadas. No existe un endpoint de pruebas ni un entorno separado en el panel.

Por qué las pruebas necesitan su propia compilación

Las defensas avanzadas (VM Self Defending, VM Debug Protection, VM Domain Lock y sus equivalentes básicos selfDefending, debugProtection y domainLock) también actúan contra tus propios agentes, automatizaciones y depuradores. Pueden detener la ejecución, lanzar errores sin relación aparente o producir resultados incorrectos. disableConsoleOutput sustituye los métodos de console por funciones vacías de forma global, para todos los scripts de la página y no solo para el ofuscado, así que las aserciones basadas en los logs no ven nada. Ejecuta las pruebas funcionales contra una compilación de pruebas separada con estas funciones desactivadas.

Configuración para pruebas funcionales

Deriva la configuración de pruebas de tus ajustes compartidos y aplica estas sobrescrituras después de seleccionar un preajuste. Desactivan las versiones VM y básicas de Self Defending, Debug Protection y Domain Lock, y desactivan disableConsoleOutput (los preajustes Low, Medium y High lo activan). Indica valores explícitos: si omites una opción, un preajuste podría activarla.

JavaScript

CI

Ejecuta primero el código original y, después, pasa la compilación de pruebas ofuscada por las mismas comprobaciones. Registra la entrada, las opciones efectivas, la versión del ofuscador y las advertencias de la compilación para poder reproducir los fallos. El panel y las respuestas directas de la API informan de las advertencias y de la versión resuelta; el paquete javascript-obfuscator informa de la versión en su mensaje de progreso, pero no informa de las advertencias.

Cuando las comprobaciones funcionales pasen, genera un artefacto de publicación independiente a partir de los ajustes de producción originales. Valida ese artefacto exacto en el entorno de ejecución previsto, en un dominio permitido, sin herramientas de automatización ni depuradores que sus defensas estén diseñadas para detectar. Que la compilación de pruebas pase no valida la versión protegida que publicas.

Las compilaciones desde el panel, el paquete javascript-obfuscator (CLI o Node.js) y la API usan las mismas opciones de protección. Las pruebas con la API usan las credenciales y el endpoint habituales, y se aplican los límites de uso normales. En CI, guarda las salidas de pruebas y de publicación en rutas separadas y despliega solo el artefacto de publicación.

Si la ejecución sigue fallando, consulta Diagnosticar errores de la VM en tiempo de ejecución.