Latihan 3 dari materi Unit Testing dengan Vitest di Testing — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awal sudah punya let counter = 0; dan increment() yang menaikkan counter satu. Biarkan, lalu tulis test-nya di bawah:
Buka satu blok describe("increment", () => { ... }).
Di dalamnya pasang beforeEach(() => { counter = 0; }); supaya counter kembali ke 0 sebelum tiap test.
Test pertama: panggil increment() sekali, lalu expect(counter).toBe(1).
Test kedua: panggil increment() dua kali, lalu expect(counter).toBe(2). Test ini cuma lulus kalau reset-nya jalan, karena tanpa reset counter jadi 3.
Yang dinilai: kodenya memakai beforeEach dan expect, expect langsung memeriksa counter, dan semua test-mu benar-benar lulus saat dijalankan.
Hint
Variabel yang dipakai bareng terbawa dari satu test ke test berikutnya kalau gak dikembalikan dulu.
Hook yang jalan sebelum setiap test adalah beforeEach, bukan beforeAll. Isi hook-nya cukup counter = 0;.