Pengujian dan Integrasi
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 106 dari 110.
Tantangan
MudahPada 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 classLibraryTesterbaru untuk memvalidasi sistem perpustakaanmu. Class ini harus memiliki instanceLibrarydan mencakup method pengujian berikut:setupTestData(): daftarkan admin (A001,Test Admin), tambahkan dua buku melalui admin (978-0-01,Book One,Author Adan978-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. CetakBorrowing test: PASSsetelah selesai.testSearch(): cari buku yang judulnya memuatBook, cetakSearch found: X booksdengan X sebagai jumlahnya, lalu cetakSearch test: PASStestAdminOperations(): hapus buku kedua menggunakan admin, cetak jumlah buku dengan formatBooks after removal: X, lalu cetakAdmin test: PASSrunAllTests(): panggilsetupTestData(), lalu jalankan ketiga method pengujian secara berurutan, dan terakhir cetakAll tests completed!
main.dart: Buat instanceLibraryTesterdan panggilrunAllTests()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
1Dasar-Dasar OOP
file Eksternallibrary dan ImporPengantar OOPClass dan ObjectKata kunci thismethodVariabel InstanceDasar-Dasar ConstructorRingkasan: Kalkulator Sederhana4Keamanan Null
Pengantar Keamanan NullBisa Null vs Tidak Bisa NullOperator ? dan !Kata Kunci late dan Keamanan NullOperator Penanganan NullKeamanan Null dalam classRangkuman: Sistem Profil Pengguna7class Abstrak & Antarmuka
class AbstrakMethod abstrakAntarmuka di DartAntarmuka ImplisitMengimplementasikan vs MemperluasBeberapa AntarmukaRingkasan: Kalkulator Bentuk10Koleksi dan Generik
Gambaran Umum list, set, dan MapKoleksi dengan Tipe AmanKelas GenerikMetode GenerikBatasan GenerikIterable dan IteratorUlasan: Penyimpanan Generik13Konsep OOP Lanjutan
Komposisi vs PewarisanExtension methodClass yang Dapat DipanggilSealed class (Dart 3)Records (Dart 3)Pola dan Pencocokan (3.0)Enum dengan method16Proyek: Manajemen library
Ringkasan Proyekclass Buku dan Pengguna2Konstruktor dalam Dart
Konstruktor DefaultKonstruktor BernamaInitializer ListsKonstruktor KonstanKonstruktor FactoryKonstruktor RedirectingRangkuman, Pembuat Bentuk5Enkapsulasi
Member Publik vs PrivatKonvensi Prefiks _Privasi Tingkat libraryPendalaman Getter & SetterPenyembunyian InformasiRingkasan: Catatan Siswa8Mixin
Pengantar MixinMembuat MixinMenggunakan Beberapa MixinKata Kunci on pada MixinMixin vs. PewarisanMixin vs. InterfaceRangkuman: Sistem Hewan3Property Class
Anggota Instance vs StaticField Final dan ConstVariabel LateMethod dan Field StaticGetter dan SetterRangkuman: Pengelola Rekening Bank6Pewarisan
Pewarisan DasarKata Kunci superPenimpaan methodAnotasi @overrideKata Kunci class finalKonstruktor dan PewarisanRangkuman, Hierarki Karyawan9Polimorfisme
Dasar-Dasar PolimorfismePolimorfisme melalui AntarmukaPemeriksaan Tipe saat RuntimeOperator is & asKata Kunci KovarianRangkuman: Pemroses PembayaranLatihan sendiri: Compiler Dart online