Test e CI
Usa una configurazione separata per i test funzionali quando i tuoi strumenti di test attiverebbero le difese avanzate. Non esistono un endpoint di test o un ambiente della dashboard separati.
Perché i test richiedono una build dedicata
Le difese avanzate (VM Self Defending, VM Debug Protection, VM Domain Lock e le loro controparti di base selfDefending, debugProtection e domainLock) agiscono anche contro i tuoi agenti, la tua automazione e i tuoi debugger. Possono interrompere l'esecuzione, generare errori non correlati o produrre risultati errati. disableConsoleOutput sostituisce globalmente i metodi di console con funzioni vuote, per ogni script della pagina e non solo per quello offuscato, quindi le asserzioni basate sui log non vedono nulla. Esegui i test funzionali su una build di test separata con queste funzionalità disattivate.
Configurazione per i test funzionali
Ricava la configurazione di test dalle impostazioni condivise e applica queste sovrascritture dopo aver selezionato un preset. Disattivano le versioni VM e di base di Self Defending, Debug Protection e Domain Lock e disattivano disableConsoleOutput (i preset Low, Medium e High lo attivano). Passa valori espliciti: omettere un'opzione può permettere a un preset di attivarla.
CI
Esegui prima il codice originale, poi sottoponi la build di test offuscata agli stessi controlli. Registra l'input, le opzioni effettive, la versione dell'offuscatore e gli avvisi della build, così da poter riprodurre gli errori. La dashboard e le risposte dirette dell'API riportano gli avvisi e la versione risolta; il pacchetto javascript-obfuscator riporta la versione nel suo messaggio di avanzamento, ma non riporta gli avvisi.
Dopo che i controlli funzionali sono stati superati, genera un artefatto di rilascio separato a partire dalle impostazioni di produzione originali. Convalida esattamente quell'artefatto nel runtime previsto, su un dominio consentito, senza l'automazione o i debugger che le sue difese sono progettate per rilevare. Il superamento dei test sulla build di test non convalida il rilascio protetto.
Le build tramite dashboard, pacchetto javascript-obfuscator (CLI o Node.js) e API usano le stesse opzioni di protezione. I test tramite API usano le consuete credenziali e lo stesso endpoint, e si applicano i normali limiti di utilizzo. In CI, tieni gli output di test e di rilascio in percorsi separati e distribuisci solo l'artefatto di rilascio.
Se l'esecuzione continua a fallire, consulta Diagnosticare gli errori di runtime della VM.
