الاختبارات المُعلْمَرة (Parameterized tests)
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
run one test body against many inputs.
الموضوعات المخطط لها
@ParameterizedTestreplaces copy-pasted tests that differ only in data.@ValueSourcefor a list of single values.@CsvSourcefor several columns per row (input and expected result).@MethodSourcefor complex objects built in a static method.- Use
{0}-style placeholders in thenameattribute so failures say which row broke.
تفاصيل المخطط المبدئي
عرض عملي
@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.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.