Advertisement

Menulis Unit Test dengan Mocha dan Chai – Karena Kode Kamu Butuh Dipastikan Ngga Ngambek!

 

Hai, Para Developer yang Selalu Mencoba Menjadi Lebih Baik!

(Kamu pernah nggak sih, nulis kode yang udah bagus banget, tapi tiba-tiba ada bug? Pasti bikin kecewa, kan?)

Nah, untuk menghindari kejadian kayak gitu, kamu butuh yang namanya unit testing. Kenapa? Supaya kamu bisa memastikan kode yang kamu buat bekerja seperti yang diinginkan! Di dunia Node.js, salah satu cara paling populer untuk menulis unit test adalah dengan menggunakan Mocha dan Chai—dua sahabat terbaik yang bakal membantu kamu menangani bug sebelum mereka menyerang aplikasi kamu.

1. Apa Itu Unit Test?

Unit test itu seperti tes kesehatan buat kode kamu. Jadi, sebelum kamu rilis aplikasi ke dunia, unit test memastikan bahwa setiap bagian dari kode (atau "unit") berfungsi dengan baik. Kalau ada yang "sakit", unit test bakal kasih tahu kamu, "Hei, bagian ini perlu diperbaiki!" Gak mau kan, aplikasi kamu tiba-tiba error di tengah jalan, kayak nonton film tapi tiba-tiba mati?

2. Kenapa Mocha dan Chai?

  • Mocha: Ini adalah framework testing yang keren dan populer di dunia JavaScript. Mocha memberikan struktur yang jelas untuk menulis dan menjalankan test. Pokoknya, kalau Mocha yang handle, unit test kamu bakal lebih teratur, kayak buku catatan yang selalu rapi.

  • Chai: Chai adalah assertion library yang mempermudah kamu menulis tes. Ibaratnya, Chai adalah teman setia yang selalu siap bantu nulis kalimat pembuktian (assertions). Jadi, Chai ini bakal bantu kamu menulis pernyataan yang jelas dan mudah dimengerti saat membandingkan hasil dari test.

3. Instalasi Mocha dan Chai

Sebelum kamu bisa menulis unit test yang keren, kamu perlu menginstall Mocha dan Chai terlebih dahulu. Jangan khawatir, proses instalasinya semudah pesan singkat di WhatsApp!

Cukup ketik perintah ini di terminal kamu:

npm install --save-dev mocha chai

Setelah itu, kamu siap deh mulai nulis unit test!

4. Menulis Unit Test Pertama Kamu!

Sekarang saatnya kamu menulis test pertama. Mari kita mulai dengan sebuah contoh yang mudah dimengerti—misalnya, kamu punya fungsi yang menghitung jumlah dua angka:

// app.js
function tambah(a, b) {
  return a + b;
}

module.exports = tambah;

Untuk menulis unit test-nya menggunakan Mocha dan Chai, kamu bisa buat file test.js dan tulis kode seperti berikut:

// test.js
const chai = require('chai');
const expect = chai.expect;  // Kita pakai expect dari Chai supaya lebih dramatis!

const tambah = require('./app');

describe('Fungsi tambah', function () {
  it('seharusnya menjumlahkan dua angka dengan benar', function () {
    const hasil = tambah(2, 3);
    expect(hasil).to.equal(5);  // Ini dia, bukti kalau 2 + 3 itu 5!
  });
});

Nah, di sini kita menggunakan describe untuk mendeskripsikan fungsi yang akan kita tes, dan it untuk menuliskan apa yang diharapkan terjadi. Lalu, kita pakai expect dari Chai untuk memeriksa apakah hasil yang keluar benar-benar sesuai dengan ekspektasi kita.

5. Menjalankan Unit Test

Sekarang, waktunya menjalankan tes kamu! Cukup ketikkan perintah berikut di terminal:

npx mocha

Jika hasilnya seperti ini:

Fungsi tambah
    ✓ seharusnya menjumlahkan dua angka dengan benar

1 passing (10ms)

Berarti tes kamu berhasil!  Kode kamu bekerja seperti yang diharapkan, dan bug yang mungkin tersembunyi sudah ketahuan. Kalau ada bug, Mocha bakal kasih tahu dengan pesan error, jadi kamu bisa memperbaikinya. Keren, kan?

6. Menggunakan Beberapa Test

Unit test nggak cuma untuk satu fungsi saja. Kamu bisa menambahkan beberapa tes dalam satu describe untuk memastikan kode kamu bekerja di berbagai kondisi. Misalnya, kamu bisa menambah tes untuk angka negatif, angka nol, atau bahkan angka sangat besar!

describe('Fungsi tambah', function () {
  it('seharusnya menjumlahkan dua angka dengan benar', function () {
    const hasil = tambah(2, 3);
    expect(hasil).to.equal(5);
  });

  it('seharusnya menangani angka negatif', function () {
    const hasil = tambah(-2, -3);
    expect(hasil).to.equal(-5);
  });

  it('seharusnya menangani angka nol', function () {
    const hasil = tambah(0, 5);
    expect(hasil).to.equal(5);
  });

  it('seharusnya menangani angka besar', function () {
    const hasil = tambah(999999, 1000000);
    expect(hasil).to.equal(1999999);
  });
});

Dengan cara ini, kamu bisa memastikan bahwa fungsi kamu bekerja di semua kondisi, bukan cuma di satu kasus. Semakin banyak tes, semakin kamu bisa yakin kalau kode kamu bebas dari bug!

7. Kesimpulan: Unit Test Itu Kayak Asuransi Kode Kamu

Menulis unit test dengan Mocha dan Chai itu seperti memberi asuransi buat kode kamu. Jadi, kalau ada bug atau sesuatu yang nggak berfungsi dengan baik, kamu bakal tahu sebelum aplikasi kamu turun ke jalan dan crash.

Dengan Mocha yang memberi struktur dan Chai yang menyediakan assertion keren, kamu bisa menulis tes dengan mudah dan memastikan aplikasi kamu tetap berjalan lancar tanpa masalah.

Jadi, nggak perlu lagi khawatir kalau kode kamu tiba-tiba ngambek. Cukup tulis unit test yang tepat, dan kamu bisa tidur nyenyak.

P.S. Kalau masih bingung atau malas, ingat: Bug itu bisa dihindari, kalau kamu mau nulis tes! Kalau nggak, ya bug bakal datang kayak tamu nggak diundang.



Post a Comment

0 Comments