Menu
Coddy logo textTech

Test ve Entegrasyon

Coddy'nin Dart Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 106 / 110.

challenge icon

Görev

Kolay

Önceki derste, kütüphane envanterini yönetmek için bir yönetici arayüzü oluşturdunuz. Şimdi, Kütüphane Yönetim Sisteminizin tüm bileşenlerinin birlikte doğru şekilde çalıştığını doğrulayan kapsamlı bir test paketi oluşturarak her şeyi bir araya getirme zamanı.

Tüm kütüphane özelliklerinizde entegrasyon testleri çalıştıran bir LibraryTester sınıfı ekleyeceksiniz; kitapların, kullanıcıların, yöneticilerin, ödünç alma, arama ve envanter yönetiminin birlikte kullanıldığında beklendiği gibi çalışıp çalışmadığını doğrulayacaksınız.

  • book.dart, user.dart, admin.dart, library.dart: Mevcut sınıflarınızı değiştirmeden koruyun.
  • library_tester.dart: Kütüphane sisteminizi doğrulayan yeni bir LibraryTester sınıfı oluşturun. Bir Library örneğine sahip olmalı ve şu test metotlarını içermelidir:
    • setupTestData() - bir yönetici kaydeder (A001, Test Admin), yönetici aracılığıyla iki kitap ekler (978-0-01, Book One, Author A ve 978-0-02, Book Two, Author B) ve bir kullanıcı kaydeder (U001, Test User)
    • testBorrowing() - kullanıcı için ilk kitabı ödünç alır, tekrar ödünç almayı dener (başarısız olmalıdır), ardından kitabı iade eder. Tamamlandıktan sonra Borrowing test: PASS yazdırın.
    • testSearch() - başlığında Book geçen kitapları arar, Search found: X books yazdırır (burada X sayıdır), ardından Search test: PASS yazdırır.
    • testAdminOperations() - yöneticiyi kullanarak ikinci kitabı kaldırır, kitap sayısını Books after removal: X olarak yazdırır, ardından Admin test: PASS yazdırır.
    • runAllTests() - setupTestData() metodunu çağırır, ardından üç test metodunu sırasıyla çalıştırır ve son olarak All tests completed! yazdırır.
  • main.dart: Bir LibraryTester örneği oluşturun ve tam test paketini yürütmek için runAllTests() metodunu çağırın.

Beklenen çıktı:

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!

Kendin dene

import 'library_tester.dart';

void main() {
  // TODO: Bir LibraryTester örneği oluşturun ve runAllTests() fonksiyonunu çağırın
}

Nesne Yönelimli Programlama bölümündeki tüm dersler