Bab 7 dari 7 · 25 menit
Pengujian, Optimasi, dan Deployment Produksi
Menjaga kualitas kode sebelum dilepas ke publik membutuhkan rangkaian pengujian terstruktur. Node.js modern menyediakan test runner bawaan melalui modul node:test sejak versi 18, namun kerangka kerja seperti Jest dan kombinasi Supertest tetap menjadi pilihan populer karena kelengkapan ekosistem mocking dan pengujian endpoint HTTP.
Pengujian piramida mencakup tiga lapisan:
- Unit Test: Menguji fungsi logika tunggal secara terisolasi tanpa dependensi eksternal.
- Integration Test: Menguji kerja sama antarkomponen, seperti integrasi controller dengan query database.
- End-to-End Test: Menguji keseluruhan alur skenario pengguna dari awal hingga akhir.
Di tingkat performa, satu proses Node.js hanya berjalan pada satu thread inti CPU. Untuk mengoptimalkan mesin server multi-core, modul bawaan cluster atau process manager seperti PM2 dapat menjalankan beberapa instance proses aplikasi secara paralel untuk membagi beban kerja jaringan.
PM2 menyediakan fitur pemantauan kesehatan aplikasi, log terpusat, dan otomatisasi restart saat aplikasi mengalami kegagalan tak tertangani. Dalam paradigma kontainerisasi modern, aplikasi dikemas menggunakan Docker. File Dockerfile bertingkat meminimalkan ukuran image menggunakan basis Alpine Linux dan mengisolasi lingkungan dependensi aplikasi.
Daftar periksa sebelum rilis produksi:
- Pastikan variabel
NODE_ENVdiatur ke nilaiproduction. - Pasang middleware keamanan
helmetdan pembatas laju permintaanexpress-rate-limit. - Gunakan reverse proxy seperti Nginx untuk terminasi TLS/HTTPS.
- Jalankan audit dependensi berkala lewat
npm auditguna menambal celah keamanan pustaka pihak ketiga.
Cek pemahaman
1. Perintah process manager PM2 yang digunakan untuk menjalankan aplikasi server dalam mode cluster multi-core secara otomatis adalah...
2. Test runner bawaan node:test memerlukan instalasi paket tambahan dari registry NPM sebelum dapat dijalankan.
3. Variabel lingkungan mendasar yang wajib disetel ke nilai 'production' saat merilis aplikasi Express agar mengaktifkan optimasi performa bawaan adalah...


