Dokumentasi
/

Pengujian dan CI

Pengujian dan CI

Gunakan konfigurasi terpisah untuk pengujian fungsional ketika alat pengujian Anda akan memicu pertahanan lanjutan. Tidak ada endpoint pengujian atau lingkungan dasbor terpisah.

Mengapa pengujian membutuhkan build tersendiri

Pertahanan lanjutan (VM Self Defending, VM Debug Protection, VM Domain Lock, serta padanan dasarnya selfDefending, debugProtection dan domainLock) juga bekerja melawan agen, otomasi, dan debugger milik Anda sendiri. Pertahanan ini dapat menghentikan eksekusi, melempar error yang tidak berkaitan, atau menghasilkan hasil yang salah. disableConsoleOutput mengganti metode console dengan fungsi kosong secara global, untuk setiap skrip di halaman, bukan hanya skrip hasil obfuskasi, sehingga asersi berbasis log tidak melihat apa pun. Jalankan pengujian fungsional pada build pengujian terpisah dengan fitur-fitur ini dinonaktifkan.

Konfigurasi pengujian fungsional

Turunkan konfigurasi pengujian dari pengaturan bersama Anda dan terapkan penimpaan berikut setelah memilih preset. Penimpaan ini menonaktifkan versi VM dan versi dasar dari Self Defending, Debug Protection, dan Domain Lock, serta mematikan disableConsoleOutput (preset Low, Medium, dan High mengaktifkannya). Berikan nilai secara eksplisit; menghilangkan sebuah opsi dapat membuat preset mengaktifkannya.

JavaScript

CI

Jalankan kode asli terlebih dahulu, lalu jalankan build pengujian hasil obfuskasi melalui pemeriksaan yang sama. Catat masukan, opsi efektif, versi obfuscator, dan peringatan build agar kegagalan dapat direproduksi. Dasbor dan respons API langsung melaporkan peringatan dan versi yang di-resolve; paket javascript-obfuscator melaporkan versi dalam pesan progresnya tetapi tidak melaporkan peringatan.

Setelah pemeriksaan fungsional lolos, hasilkan artefak rilis terpisah dari pengaturan produksi asli. Validasi artefak tersebut persis di runtime yang dituju, pada domain yang diizinkan, tanpa otomasi atau debugger yang memang dirancang untuk dideteksi oleh pertahanannya. Lolosnya build pengujian tidak memvalidasi rilis yang dilindungi.

Build melalui dasbor, paket javascript-obfuscator (CLI atau Node.js), dan API memakai opsi proteksi yang sama. Pengujian API memakai kredensial dan endpoint yang biasa, dan batas penggunaan normal tetap berlaku. Di CI, simpan keluaran pengujian dan rilis di path terpisah dan terapkan hanya artefak rilis ke produksi.

Jika eksekusi masih gagal, lihat Mendiagnosis Error Runtime VM.