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

الاختبارات المُعلْمَرة (Parameterized tests)

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

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

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

في هذا الدرس

run one test body against many inputs.

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

  • @ParameterizedTest replaces copy-pasted tests that differ only in data.
  • @ValueSource for a list of single values.
  • @CsvSource for several columns per row (input and expected result).
  • @MethodSource for complex objects built in a static method.
  • Use {0}-style placeholders in the name attribute so failures say which row broke.
تفاصيل المخطط المبدئي

عرض عملي

java
@ParameterizedTest(name = "{0}% off {1} = {2}")
@CsvSource({"10,100.00,90.00", "0,100.00,100.00", "50,80.00,40.00"})
void discountTable(int pct, BigDecimal price, BigDecimal expected) {
    assertEquals(0, expected.compareTo(calc.discounted(price, pct)));
}

اختبر فهمك

Which source fits a table of input/expected pairs?

أظهر الإجابة

@CsvSource.

التطبيق

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

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

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

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