Menerapkan Unit Testing di Aplikasi Node.js: Panduan Praktis
Unit testing adalah praktik pengujian perangkat lunak di mana bagian kecil dari program (unit) diuji untuk memastikan bahwa fungsinya beroperasi dengan benar. Dalam artikel ini, kita akan menjelaskan cara menerapkan unit testing di aplikasi Node.js menggunakan framework pengujian populer, yaitu Jest.
Langkah 1: Persiapan Proyek
Langkah pertama adalah menginstal Jest di dalam proyek Anda. Buka terminal dan ketikkan perintah berikut:
npm install --save-dev jest
Tambahkan konfigurasi Jest ke dalam file package.json
:
"scripts": {
"test": "jest"
},
"jest": {
"testEnvironment": "node"
}
Langkah 2: Membuat Fungsi yang Akan Diuji
Buat file math.js
yang berisi fungsi sederhana yang akan diuji:
// math.js
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
module.exports = { add, subtract };
Langkah 3: Membuat Test untuk Fungsi
Buat file math.test.js
yang berisi test untuk fungsi yang telah dibuat:
// math.test.js
const { add, subtract } = require('./math');
test('menambahkan 1 + 2 harus sama dengan 3', () => {
expect(add(1, 2)).toBe(3);
});
test('mengurangkan 5 - 3 harus sama dengan 2', () => {
expect(subtract(5, 3)).toBe(2);
});
Langkah 4: Menjalankan Test
Jalankan perintah berikut di terminal untuk menjalankan test:
npm test
Jest akan mengeksekusi test yang telah Anda buat dan memberikan laporan hasilnya.
Langkah 5: Menambahkan Test Lainnya
Tambahkan test untuk fungsi lain atau modul di aplikasi Node.js Anda sesuai dengan kebutuhan proyek. Pastikan untuk menguji semua fungsi kunci dan kasus-kasus batas.
// contoh penambahan test untuk fungsi lain
test('mengalikan 4 * 2 harus sama dengan 8', () => {
expect(multiply(4, 2)).toBe(8);
});
test('membagi 6 / 2 harus sama dengan 3', () => {
expect(divide(6, 2)).toBe(3);
});
Langkah 6: Mocking dan Spying
Jest menyediakan fitur mocking dan spying untuk meniru atau mengawasi perilaku fungsi atau objek. Contohnya:
// Mocking sebuah fungsi
jest.mock('./module-to-mock', () => {
return jest.fn(() => 'mocked value');
});
// Spying sebuah fungsi
const spyFunction = jest.spyOn(obj, 'functionToSpy');
Kesimpulan
Menerapkan unit testing di aplikasi Node.js dengan Jest memungkinkan Anda untuk memastikan bahwa setiap unit (fungsi, modul, atau metode) beroperasi dengan benar. Dengan menyertakan test dalam siklus pengembangan perangkat lunak, Anda dapat meningkatkan kualitas kode, meminimalkan bug, dan meningkatkan kepercayaan dalam perubahan yang Anda buat di aplikasi Anda. Selamat mencoba dan teruskan praktik unit testing untuk membangun aplikasi yang andal dan berkualitas tinggi.