جدول المحتويات
10.11. مراقبة الجودة #
إحدى طرق تطوير برمجيات عالية الجودة هي كتابة اختبارات لكل دالة أثناء تطويرها، وإجراء هذه الاختبارات بشكل متكرر أثناء عملية التطوير.
توفر وحدة doctest أداةً لفحص الوحدة والتحقق من صحة الاختبارات المُضمنة في سلاسل توثيق البرنامج. عملية إنشاء الاختبار بسيطة، إذ يكفي نسخ ولصق استدعاء نموذجي مع نتائجه في سلسلة توثيق البرنامج. يُحسّن هذا من جودة التوثيق من خلال تزويد المستخدم بمثال، ويسمح لوحدة doctest بالتأكد من توافق الكود مع التوثيق:
def average(values):
"""Computes the arithmetic mean of a list of numbers.
>>> print(average([20, 30, 70]))
40.0
"""
return sum(values) / len(values)
import doctest
doctest.testmod() # automatically validate the embedded tests
وحدة unittest ليست سهلة الاستخدام كوحدة doctest، ولكنها تسمح بحفظ مجموعة اختبارات أكثر شمولاً في ملف منفصل:
import unittest class TestStatisticalFunctions(unittest.TestCase): def test_average(self): self.assertEqual(average([20, 30, 70]), 40.0) self.assertEqual(round(average([1, 5, 7]), 1), 4.3) with self.assertRaises(ZeroDivisionError): average([]) with self.assertRaises(TypeError): average(20, 30, 70) unittest.main() # Calling from the command line invokes all tests