Lewati ke isi

๐Ÿงช Pengenalan Jest

Jest adalah framework testing JavaScript yang powerful dan mudah digunakan. Dikembangkan oleh Meta (Facebook), Jest sangat populer dalam pengujian unit dan integrasi, khususnya dalam proyek React โ€” tetapi juga bisa digunakan untuk aplikasi JavaScript murni (vanilla JS), Node.js, hingga TypeScript.

๐Ÿš€ Fitur Unggulan Jest

  • Zero config โ€“ langsung bisa digunakan.
  • Snapshot testing โ€“ untuk menguji struktur output seperti HTML/JSON.
  • Mocking built-in โ€“ mudah membuat mock fungsi/module.
  • Test coverage โ€“ laporan seberapa banyak kode yang diuji.
  • Runs in parallel โ€“ performa cepat dengan worker threads.

๐Ÿ“ฆ Instalasi

npm install --save-dev jest
````

Tambahkan ke `package.json`:

```json
"scripts": {
  "test": "jest"
}

Untuk proyek type: module, tambahkan opsi:

"type": "module",
"jest": {
  "testEnvironment": "node"
}

๐Ÿงช Contoh Pengujian Dasar

Misal kita punya fungsi:

// sum.js
export function sum(a, b) {
  return a + b;
}

Buat file test:

// sum.test.js
import { sum } from './sum.js';

test('menjumlahkan 1 + 2 = 3', () => {
  expect(sum(1, 2)).toBe(3);
});

Jalankan test:

npm test

๐Ÿ” Metode Expect Populer

Fungsi Penjelasan
toBe() Kecocokan identik (===)
toEqual() Untuk objek/array (deep equality)
toBeTruthy() Nilai yang dianggap true
toBeFalsy() Nilai yang dianggap false
toContain() Cek apakah array/string mengandung nilai
toThrow() Cek error dilempar atau tidak

๐Ÿงช Coverage Test

Untuk melihat cakupan pengujian:

npx jest --coverage

Akan muncul laporan detail berapa persen kode yang diuji.


๐Ÿ“ Struktur Proyek Rekomendasi

/project-root
  โ”œโ”€โ”€ src/
  โ”‚   โ””โ”€โ”€ sum.js
  โ”œโ”€โ”€ tests/
  โ”‚   โ””โ”€โ”€ sum.test.js
  โ””โ”€โ”€ package.json

๐Ÿ”— Referensi Resmi

```