اختبار دفاتر ملاحظات 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، يمكنك استدعاء الاختبار وتشغيله مباشرة من دفتر ملاحظات.

استدعاء اختبار دفتر الملاحظات

يمكنك أيضا استخدام محطة الويب الطرفية لتشغيل الاختبارات في ملفات التعليمات البرمجية المصدر تماما كما تفعل على جهازك المحلي.

استدعاء اختبار مجلدات Git

إعداد سير عمل على نمط CI/CD

بالنسبة إلى دفاتر الملاحظات في مجلد Databricks Git، يمكنك إعداد سير عمل على نمط CI/CD عن طريق تكوين اختبارات دفتر الملاحظات للتشغيل لكل تثبيت. راجع Databricks GitHub Actions.