Menu
CoddyTech

Pengujian dan Integrasi

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 106 dari 110.

challenge icon

Tantangan

Mudah

Pada pelajaran sebelumnya, kamu membuat antarmuka admin untuk mengelola inventaris perpustakaan. Sekarang saatnya menyatukan semuanya dengan membuat rangkaian pengujian menyeluruh yang memvalidasi bahwa semua komponen Library Management System bekerja sama dengan benar.

Kamu akan menambahkan class LibraryTester yang menjalankan pengujian integrasi untuk semua fitur perpustakaanmu. Pengujian ini memverifikasi bahwa buku, pengguna, admin, peminjaman, pencarian, dan pengelolaan inventaris berfungsi sesuai harapan saat digunakan bersama.

  • book.dart, user.dart, admin.dart, library.dart: Biarkan class yang sudah ada tetap seperti semula.
  • library_tester.dart: Buat class LibraryTester baru untuk memvalidasi sistem perpustakaanmu. Class ini harus memiliki instance Library dan mencakup method pengujian berikut:
    • setupTestData(): daftarkan admin (A001, Test Admin), tambahkan dua buku melalui admin (978-0-01, Book One, Author A dan 978-0-02, Book Two, Author B), lalu daftarkan pengguna (U001, Test User)
    • testBorrowing(): pinjam buku pertama untuk pengguna, coba pinjam lagi (seharusnya gagal), lalu kembalikan buku itu. Cetak Borrowing test: PASS setelah selesai.
    • testSearch(): cari buku yang judulnya memuat Book, cetak Search found: X books dengan X sebagai jumlahnya, lalu cetak Search test: PASS
    • testAdminOperations(): hapus buku kedua menggunakan admin, cetak jumlah buku dengan format Books after removal: X, lalu cetak Admin test: PASS
    • runAllTests(): panggil setupTestData(), lalu jalankan ketiga method pengujian secara berurutan, dan terakhir cetak All tests completed!
  • main.dart: Buat instance LibraryTester dan panggil runAllTests() untuk menjalankan seluruh rangkaian pengujian.

Output yang diharapkan:

A001 added "Book One"
A001 added "Book Two"
U001 borrowed "Book One"
Book not available
U001 returned "Book One"
Borrowing test: PASS
Search found: 2 books
Search test: PASS
A001 removed "Book Two"
Books after removal: 1
Admin test: PASS
All tests completed!

Coba sendiri

import 'library_tester.dart';

void main() {
  // TODO: Buat instans LibraryTester dan panggil runAllTests()
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Dart online