🎯 📘 Bagian 2 (Lanjutan & Penerapan) • Modul 16 100% Standar Industri & Vokasi

Pengujian Kode Otomatis (Unit Testing)

Modul pembelajaran Pengujian Kode Otomatis (Unit Testing).

⚡ Pemrograman DART

18. Pengujian Kode Otomatis (Unit Testing)

1. Mengapa Unit Testing Sangat Krusial?

Unit Testing memastikan bahwa setiap unit logika fungsi atau kelas bekerja persis sesuai spesifikasi yang diharapkan dan mencegah *regresi* (munculnya bug lama saat ada penambahan fitur baru).

2. Menulis Kasus Uji dengan Package test

// file: lib/kalkulator_jaringan.dart
int hitungHostValid(int prefix) {
  if (prefix < 0 || prefix > 32) throw ArgumentError("Prefix tidak valid");
  if (prefix >= 31) return 0;
  return (1 << (32 - prefix)) - 2;
}

// file: test/kalkulator_jaringan_test.dart
import 'package:test/test.dart';

void main() {
  group('Pengujian Subnetting IPv4', () {
    test('Prefix /24 harus menghasilkan 254 host valid', () {
      expect(hitungHostValid(24), equals(254));
    });

    test('Prefix /28 harus menghasilkan 14 host valid', () {
      expect(hitungHostValid(28), equals(14));
    });

    test('Prefix di luar batas harus melempar ArgumentError', () {
      expect(() => hitungHostValid(35), throwsArgumentError);
    });
  });
}

3. Menjalankan Tes Melalui Terminal

dart test

Jika semua test berhasil, terminal akan menampilkan output hijau: All tests passed!.