Latihan 2: Testing Model & Database — Testing

Latihan 2 dari materi Testing Model & Database di Testing — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Sandbox ini menjalankan PHP biasa, tanpa Laravel, jadi tiru pabrik data dan tabelnya sendiri:

  1. Siapkan tabelnya: $records = [];
  2. Buat pabrik data: $factory = function ($overrides) { return array_merge(["name" => "User", "email" => "[email protected]"], $overrides); };
  3. Buat $create = function ($row) use (&$records) { array_push($records, $row); return $row; };, lalu buat dua user lewat keduanya, salah satunya bernama Budi: $create($factory(["name" => "Budi"]));
  4. Cetak jumlah barisnya dari larik: echo "factory create: " . count($records) . " records\n";
  5. Buat $assertDatabaseHas yang menelusuri $records dengan foreach dan menjawab true kalau kolomnya bernilai itu, lalu cetak assertDatabaseHas(name, Budi): diikuti PASS atau FAIL dari hasilnya.

Yang dinilai: kodenya memuat factory, create, assertDatabaseHas, penambahan baris (array_push(, [] = atau array_merge(), count( atau sizeof(, dan penelusuran (foreach, array_filter, in_array, array_search atau array_column). Keluarannya memuat PASS dan gak boleh ada FAIL.

Hint