Lompat ke konten utama
←

Backend Node.js Dasar: Rute, Middleware, dan Pengujian

Pelajaran 14 dari 16

Pengujian handler dengan request tiruan

Menguji handler dengan request tiruan

Setelah pelajaran ini kamu bisa membuat request tiruan untuk tes dan menyusun kasus uji handler yang lulus pada handler benar serta gagal pada setiap versi yang sengaja dicacatkan.

±13 menitDiperiksa 23 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Handler berbentuk fungsi req → respons bisa diuji tanpa menyalakan server: buat objek request, panggil handler, periksa responsnya. Tidak ada port yang dibuka, tidak ada jaringan, dan hasilnya sama setiap kali. Panduan Mocking in tests di nodejs.org menuntut hal yang sama dari setiap tes: bisa dijalankan dalam urutan apa pun, berapa kali pun, dan selalu memberi hasil yang sama.

import { test } from "node:test";
import assert from "node:assert/strict";

test("POST /ulasan tanpa bintang ditolak 422", () => {
  const res = handler(buatReq({ method: "POST", path: "/ulasan", data: { teks: "Enak" } }));
  assert.equal(res.status, 422);
  assert.deepEqual(res.body.errors.map((e) => e.pointer), ["#/bintang"]);
});

Pembuat request tiruan dengan nilai bawaan membuat setiap tes cukup menulis bagian yang penting. Uji setiap cabang handler, bukan hanya jalur berhasil: setiap kode status yang bisa dikembalikan butuh minimal satu kasus, dan header yang dijanjikan ikut diperiksa, seperti Location pada 201, Allow pada 405, dan WWW-Authenticate pada 401. Badan diperiksa pada field yang dijanjikan saja.

Untuk menilai apakah sekumpulan kasus sudah cukup, jalankan kasus yang sama terhadap beberapa mutan, yaitu salinan handler yang sengaja dicacatkan satu hal. Kasus yang baik lulus pada handler benar dan gagal pada setiap mutan. Kelas Pengujian Perangkat Lunak memakai teknik yang sama untuk menilai tes buatan peserta.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Semua tes handler produk memakai satu repositori bersama yang dibuat sekali di awal berkas tes. Tes "hapus produk 1" kadang berjalan sebelum tes "ambil produk 1", kadang sesudahnya. Apa penilaian yang tepat menurut panduan Mocking in tests di nodejs.org?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi