اختبار دفاتر ملاحظات Databricks
تصف هذه الصفحة بإيجاز بعض التقنيات المفيدة عند اختبار التعليمات البرمجية مباشرة في دفاتر ملاحظات Databricks. يمكنك استخدام هذه الأساليب بشكل منفصل أو معا.
للحصول على معاينة مفصلة لكيفية إعداد وتنظيم الوظائف واختبارات الوحدة في دفاتر ملاحظات Databricks، راجع اختبار الوحدة لدفاتر الملاحظات.
تعمل العديد من مكتبات اختبار الوحدة مباشرة داخل دفتر الملاحظات. على سبيل المثال، يمكنك استخدام حزمة Python unittest
المضمنة لاختبار التعليمات البرمجية لدفتر الملاحظات.
def reverse(s):
return s[::-1]
import unittest
class TestHelpers(unittest.TestCase):
def test_reverse(self):
self.assertEqual(reverse('abc'), 'cba')
r = unittest.main(argv=[''], verbosity=2, exit=False)
assert r.result.wasSuccessful(), 'Test failed; see logs above'
تظهر حالات فشل الاختبار في منطقة الإخراج في الخلية.
استخدام عناصر واجهة مستخدم Databricks لتحديد وضع دفتر الملاحظات
يمكنك استخدام عناصر واجهة المستخدم لتمييز استدعاءات الاختبار عن استدعاءات عادية في دفتر ملاحظات واحد. تنتج التعليمات البرمجية التالية المثال الموضح في لقطة الشاشة:
dbutils.widgets.dropdown("Mode", "Test", ["Test", "Normal"])
def reverse(s):
return s[::-1]
if dbutils.widgets.get('Mode') == 'Test':
assert reverse('abc') == 'cba'
print('Tests passed')
else:
print(reverse('desrever'))
ينشئ السطر الأول القائمة المنسدلة الوضع :
إخفاء التعليمات البرمجية للاختبار ونتائجه
لإخفاء رمز الاختبار ونتائجه، حدد إخفاء التعليمات البرمجية أو إخفاء النتيجة من قائمة إجراءات الخلية. يتم عرض الأخطاء حتى إذا كانت النتائج مخفية.
جدولة الاختبارات للتشغيل تلقائيا
لتشغيل الاختبارات بشكل دوري وتلق تلقائي، يمكنك استخدام دفاتر الملاحظات المجدولة. يمكنك تكوين المهمة لإرسال رسائل البريد الإلكتروني للإعلام إلى عنوان بريد إلكتروني تحدده.
فصل التعليمات البرمجية للاختبار عن دفتر الملاحظات
يمكنك الاحتفاظ برمز الاختبار منفصلا عن دفتر ملاحظاتك باستخدام %run
مجلدات Git أو Databricks. عند استخدام %run
، يتم تضمين رمز الاختبار في دفتر ملاحظات منفصل تستدعيه من دفتر ملاحظات آخر. عند استخدام مجلدات Databricks Git، يمكنك الاحتفاظ برمز الاختبار في ملفات التعليمات البرمجية المصدر غير الموجودة في دفتر الملاحظات.
يعرض هذا القسم بعض الأمثلة على استخدام %run
ومجلدات Databricks Git لفصل التعليمات البرمجية للاختبار عن دفتر الملاحظات.
استخدام %run
توضح لقطة الشاشة أدناه كيفية استخدام %run
لتشغيل دفتر ملاحظات من دفتر ملاحظات آخر. لمزيد من المعلومات حول استخدام %run
، راجع استخدام ٪run لاستيراد دفتر ملاحظات. يتم عرض التعليمات البرمجية المستخدمة لإنشاء الأمثلة بعد لقطة الشاشة.
فيما يلي التعليمات البرمجية المستخدمة في المثال. تفترض هذه التعليمات البرمجية أن دفاتر الملاحظات shared-code-notebook وs shared-code-notebook-test موجودة في نفس مجلد مساحة العمل.
دفتر ملاحظات التعليمات البرمجية المشتركة:
def reverse(s):
return s[::-1]
shared-code-notebook-test:
في خلية واحدة:
%run ./shared-code-notebook
في خلية لاحقة:
import unittest
class TestHelpers(unittest.TestCase):
def test_reverse(self):
self.assertEqual(reverse('abc'), 'cba')
r = unittest.main(argv=[''], verbosity=2, exit=False)
assert r.result.wasSuccessful(), 'Test failed; see logs above'
استخدام مجلدات Databricks Git
بالنسبة للتعليمات البرمجية المخزنة في مجلد Databricks Git، يمكنك استدعاء الاختبار وتشغيله مباشرة من دفتر ملاحظات.
يمكنك أيضا استخدام محطة الويب الطرفية لتشغيل الاختبارات في ملفات التعليمات البرمجية المصدر تماما كما تفعل على جهازك المحلي.
إعداد سير عمل على نمط CI/CD
بالنسبة إلى دفاتر الملاحظات في مجلد Databricks Git، يمكنك إعداد سير عمل على نمط CI/CD عن طريق تكوين اختبارات دفتر الملاحظات للتشغيل لكل تثبيت. راجع Databricks GitHub Actions.