Study
Ruby on Rails

Testing dengan Minitest

Penjelasan

Rails secara default sudah menyertakan Minitest sebagai testing framework, dengan struktur folder `test/models/`, `test/controllers/`, dsb yang otomatis dibuat saat kamu generate model/controller. Selain Minitest, komunitas Rails juga banyak memakai RSpec (gem terpisah) yang punya sintaks lebih deskriptif — konsep dasarnya sama: menulis assertion untuk memastikan kode berjalan sesuai harapan. Test model biasanya memvalidasi logic dan validasi Active Record, sementara test controller/request memastikan endpoint merespons dengan status dan data yang benar. Jalankan semua test dengan `rails test`.

Contoh Konsep

# test/models/catatan_test.rb
require "test_helper"

class CatatanTest < ActiveSupport::TestCase
  test "tidak valid tanpa judul" do
    catatan = Catatan.new(isi: "isi tanpa judul")
    assert_not catatan.valid?
  end

  test "valid dengan judul dan isi" do
    catatan = Catatan.new(judul: "Judul", isi: "Isi catatan")
    assert catatan.valid?
  end
end

Praktikum

Lengkapi test agar memastikan `Catatan` tanpa `judul` dianggap tidak valid.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Jalankan `rails test` sebelum setiap commit — kebiasaan ini membantu menangkap regresi lebih awal, apalagi kalau aplikasi sudah punya banyak model dan association yang saling terkait.