Latihan 1: Mocking & Stubbing — Testing

Latihan 1 dari materi Mocking & Stubbing di Testing — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Buat fungsi createMock() yang mengembalikan sebuah mock function. Mock itu harus:

  1. Bisa dipanggil seperti fungsi biasa
  2. Menyimpan riwayat: berapa kali dipanggil (callCount) dan argumen terakhir (lastArgs)
  3. Punya method mockReturnValue(val) untuk mengatur nilai kembaliannya
  4. Punya method mockImplementation(fn) untuk mengganti implementasinya

Buat sendiri mock-nya dari nol, bukan memakai helper mock dari pustaka pengujian mana pun.

const mock = createMock();
mock.mockReturnValue(42);
mock(); // 42
mock(1, 2); // 42
console.log(mock.callCount); // 2
console.log(mock.lastArgs); // [1, 2]

Jalankan contoh pemakaian di atas apa adanya, karena penilaiannya membaca ketiga baris yang tercetak, termasuk nilai kembalian mock-nya.

Hint