Latihan 3: Testing Kode Asinkron — Testing

Latihan 3 dari materi Testing Kode Asinkron di Testing — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

delayedHello(callback) di kode awal sudah ada: dia memanggil callback("hello") setelah 1000 ms lewat setTimeout. Biarkan, lalu tulis test-nya di bawah:

  1. Satu describe("delayedHello", () => { ... }) berisi satu it(...).
  2. Di awal test, panggil vi.useFakeTimers(), buat const callback = vi.fn(), lalu jalankan delayedHello(callback).
  3. Pastikan belum ada panggilan: expect(callback).not.toHaveBeenCalled().
  4. Majukan jam dengan vi.advanceTimersByTime(1000), lalu expect(callback).toHaveBeenCalledWith("hello").
  5. Tutup dengan vi.useRealTimers().

Yang dinilai: kodenya memuat useFakeTimers dan advanceTimersByTime, dan semua test yang kamu tulis lulus.

Hint