Latihan 2 dari materi Testing Kode Asinkron di Testing — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
fetchData() di kode awal sudah ada dan resolve dengan { status: 'ok' }. Biarkan, lalu tulis test di bawahnya:
Satu describe("fetchData", () => { ... }) berisi dua it(...), masing-masing dengan callback async.
Test pertama menunggu hasilnya: const data = await fetchData(); lalu expect(data.status).toBe("ok");
Test kedua memeriksa Promise-nya langsung: await expect(fetchData()).resolves.toEqual({ status: "ok" });
Yang dinilai: kodenya memuat await, expect dan resolves; expect(...) memeriksa hasil fetchData() (lewat data atau langsung fetchData()), bukan objek yang kamu ketik sendiri; dan semua test yang kamu tulis lulus.
Hint
Ada dua cara memeriksa Promise: tunggu dulu isinya dengan await lalu periksa, atau periksa Promise-nya langsung dengan .resolves.
Callback it harus async supaya boleh memakai await. Di cara kedua, await-nya ditaruh di depan expect, bukan di dalam kurungnya.