انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-047-L02

بُناة بيانات الاختبار (Test data builders)

  • الدرس 2 من 5
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

create test objects without copy-paste.

الموضوعات المخطط لها

  • Long constructors repeated in every test hide what matters.
  • A builder has sensible defaults; the test overrides only the relevant fields: aProduct().withStock(0).build().
  • An object mother is a class of named factories: Products.outOfStock().
  • Defaults must be valid so tests start from a good state.
  • Keep builders in test code, not production.
تفاصيل المخطط المبدئي

عرض عملي

java
class ProductBuilder {
    private String name = "Pen"; private int stock = 10; private BigDecimal price = new BigDecimal("2.50");
    static ProductBuilder aProduct() { return new ProductBuilder(); }
    ProductBuilder withStock(int s) { this.stock = s; return this; }
    Product build() { return new Product(name, price, stock); }
}

اختبر فهمك

What should a builder's defaults be?

أظهر الإجابة

Valid, so tests set only what they care about.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.