اختبار التعليمات البرمجية ل Azure Data Lake Analytics

يوفر Azure Data Lake لغة U-SQL . يجمع U-SQL بين SQL التعريفي وC# الإلزامي لمعالجة البيانات على أي نطاق. في هذا المستند، ستتعرف على كيفية إنشاء حالات اختبار ل U-SQL ورمز عامل التشغيل المعرف من قبل المستخدم (UDO) الموسع C#‎.

هام

تم إيقاف Azure Data Lake Analytics في 29 فبراير 2024. تعرف على المزيد من خلال هذا الإعلان.

بالنسبة لتحليلات البيانات، يمكن لمؤسستك استخدام Azure Synapse Analytics أو Microsoft Fabric.

اختبار البرامج النصية SQL U

يتم تحويل البرنامج النصي U-SQL برمجيا وتحسينه لتشغيل التعليمات البرمجية القابلة للتنفيذ في Azure أو على الكمبيوتر المحلي. تتعامل عملية التحويل البرمجي والتحسين مع البرنامج النصي U-SQL بأكمله. لا يمكنك إجراء اختبار وحدة تقليدي لكل عبارة. ومع ذلك، باستخدام SDK اختبار U-SQL وSDK التشغيل المحلي، يمكنك إجراء اختبارات على مستوى البرنامج النصي.

إنشاء حالات اختبار للبرنامج النصي U-SQL

تمكنك أدوات Azure Data Lake ل Visual Studio من إنشاء حالات اختبار البرنامج النصي U-SQL.

  1. انقر بزر الماوس الأيمن فوق برنامج نصي U-SQL في مستكشف الحلول، ثم حدد Create Unit Test.

  2. إنشاء مشروع اختبار جديد أو إدراج حالة الاختبار في مشروع اختبار موجود.

    Data Lake Tools for Visual Studio - إنشاء تكوين مشروع اختبار U-SQL

إدارة مصدر بيانات الاختبار

عند اختبار البرامج النصية U-SQL، تحتاج إلى اختبار ملفات الإدخال. لإدارة بيانات الاختبار، في مستكشف الحلول، انقر بزر الماوس الأيمن فوق مشروع U-SQL، وحدد Properties. يمكنك إدخال مصدر في Test Data Source.

Data Lake Tools for Visual Studio - تكوين مصدر بيانات اختبار المشروع

عند استدعاء الواجهة Initialize() في SDK اختبار U-SQL، يتم إنشاء مجلد جذر بيانات محلي مؤقت ضمن دليل العمل لمشروع الاختبار. يتم نسخ جميع الملفات والمجلدات في مجلد مصدر بيانات الاختبار إلى مجلد جذر البيانات المحلي المؤقت قبل تشغيل حالات اختبار البرنامج النصي U-SQL. يمكنك إضافة المزيد من مجلدات مصدر بيانات الاختبار عن طريق تقسيم مسار مجلد بيانات الاختبار باستخدام فاصلة منقوطة.

إدارة بيئة قاعدة البيانات للاختبار

إذا كانت البرامج النصية U-SQL تستخدم أو تستعلم مع كائنات قاعدة بيانات U-SQL، فأنت بحاجة إلى تهيئة بيئة قاعدة البيانات قبل تشغيل حالات اختبار U-SQL. يمكن أن يكون هذا الأسلوب ضروريا عند استدعاء الإجراءات المخزنة. تساعدك الواجهة Initialize() الموجودة في U-SQL test SDK على نشر جميع قواعد البيانات المشار إليها بواسطة مشروع U-SQL إلى مجلد جذر البيانات المحلية المؤقت في دليل العمل لمشروع الاختبار.

لمزيد من المعلومات حول كيفية إدارة مراجع مشروع قاعدة بيانات U-SQL لمشروع U-SQL، راجع الرجوع إلى مشروع قاعدة بيانات U-SQL.

التحقق من نتائج الاختبار

ترجع الواجهة Run() نتيجة تنفيذ مهمة. 0 يعني النجاح، و1 يعني الفشل. يمكنك أيضا استخدام وظائف تأكيد C# للتحقق من المخرجات.

تشغيل حالات الاختبار في Visual Studio

تم إنشاء مشروع اختبار البرنامج النصي U-SQL فوق إطار عمل اختبار وحدة C#. بعد إنشاء المشروع، حدد Test>Windows>Test Explorer. يمكنك تشغيل حالات الاختبار من Test Explorer. بدلا من ذلك، انقر بزر الماوس الأيمن فوق ملف .cs في اختبار الوحدة وحدد تشغيل الاختبارات.

اختبار C# UDOs

إنشاء حالات اختبار ل C# UDOs

يمكنك استخدام إطار عمل اختبار وحدة C# لاختبار عوامل التشغيل المعرفة من قبل المستخدم C# (UDOs). عند اختبار UDOs، تحتاج إلى إعداد كائنات IRowset المقابلة كمدخلات.

هناك طريقتان لإنشاء كائن IRowset :

  • تحميل البيانات من ملف لإنشاء IRowset:

    //Schema: "a:int, b:int"
    USqlColumn<int> col1 = new USqlColumn<int>("a");
    USqlColumn<int> col2 = new USqlColumn<int>("b");
    List<IColumn> columns = new List<IColumn> { col1, col2 };
    USqlSchema schema = new USqlSchema(columns);
    
    //Generate one row with default values
    IUpdatableRow output = new USqlRow(schema, null).AsUpdatable();
    
    //Get data from file
    IRowset rowset = UnitTestHelper.GetRowsetFromFile(@"processor.txt", schema, output.AsReadOnly(), discardAdditionalColumns: true, rowDelimiter: null, columnSeparator: '\t');
    
  • استخدم البيانات من مجموعة بيانات لإنشاء IRowset:

    //Schema: "a:int, b:int"
    USqlSchema schema = new USqlSchema(
        new USqlColumn<int>("a"),
        new USqlColumn<int>("b")
    );
    
    IUpdatableRow output = new USqlRow(schema, null).AsUpdatable();
    
    //Generate Rowset with specified values
    List<object[]> values = new List<object[]>{
        new object[2] { 2, 3 },
        new object[2] { 10, 20 }
    };
    
    IEnumerable<IRow> rows = UnitTestHelper.CreateRowsFromValues(schema, values);
    IRowset rowset = UnitTestHelper.GetRowsetFromCollection(rows, output.AsReadOnly());
    

التحقق من نتائج الاختبار

بعد استدعاء دالات UDO، يمكنك التحقق من النتائج من خلال التحقق من قيمة المخطط و Rowset باستخدام دالات تأكيد C#. يمكنك إضافة مشروع اختبار وحدة U-SQL C# UDO إلى الحل الخاص بك. للقيام بذلك، حدد ملف > مشروع جديد > في Visual Studio.

تشغيل حالات الاختبار في Visual Studio

بعد إنشاء المشروع، حدد Test>Windows>Test Explorer. يمكنك تشغيل حالات الاختبار من Test Explorer. بدلا من ذلك، انقر بزر الماوس الأيمن فوق ملف .cs في اختبار الوحدة وحدد تشغيل الاختبارات.

تشغيل حالات الاختبار في Azure Pipelines

ترث كل من مشاريع اختبار البرنامج النصي U-SQLومشاريع اختبار C# UDO مشاريع اختبار وحدة C#. يمكن لمهمة اختبار Visual Studio في Azure Pipelines تشغيل حالات الاختبار هذه.

تشغيل حالات اختبار U-SQL في Azure Pipelines

لاختبار U-SQL، تأكد من التحميل CPPSDK على كمبيوتر البناء الخاص بك، ثم قم بتمرير CPPSDK المسار إلى USqlScriptTestRunner(cppSdkFolderFullPath: @"").

ما هو CPPSDK؟

CPPSDK هي حزمة تتضمن Microsoft Visual C++ 14 Windows SDK 10.0.10240.0. تتضمن هذه الحزمة البيئة التي يحتاجها وقت تشغيل U-SQL. يمكنك الحصول على هذه الحزمة ضمن مجلد تثبيت Azure Data Lake Tools for Visual Studio:

  • بالنسبة إلى Visual Studio 2015، يكون ضمن C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Microsoft Azure Data Lake Tools for Visual Studio 2015\X.X.XXXX.X\CppSDK
  • بالنسبة إلى Visual Studio 2017، يكون ضمن C:\Program Files (x86)\Microsoft Visual Studio\2017\<Visual Studio Edition>\SDK\ScopeCppSDK
  • بالنسبة إلى Visual Studio 2019، يكون ضمن C:\Program Files (x86)\Microsoft Visual Studio\2019\<Visual Studio Edition>\SDK\ScopeCppSDK

إعداد CPPSDK في عامل إنشاء Azure Pipelines

الطريقة الأكثر شيوعا لإعداد تبعية CPPSDK في Azure Pipelines هي كما يلي:

  1. اضغط على المجلد الذي يتضمن مكتبات CPPSDK.

  2. تحقق من الملف .zip إلى نظام التحكم بالمصادر. يضمن ملف .zip إيداع جميع المكتبات ضمن مجلد CPPSDK بحيث لا يتم تجاهل الملفات بسبب .gitignore ملف.

  3. فك ضغط ملف .zip في البنية الأساسية لبرنامج ربط العمليات التجارية للبناء.

  4. أشر USqlScriptTestRunner إلى هذا المجلد الذي تم فك ضغطه على كمبيوتر الإنشاء.

تشغيل حالات اختبار C# UDO في Azure Pipelines

لاختبار C# UDO، تأكد من الرجوع إلى التجميعات التالية، المطلوبة ل UDOs.

  • Microsoft.Analytics.Interfaces
  • Microsoft.Analytics.Types
  • Microsoft.Analytics.UnitTest

إذا قمت بالإشارة إليها من خلال حزمة NuGet Microsoft.Azure.DataLake.USQL.Interfaces، فتأكد من إضافة مهمة استعادة NuGet في البنية الأساسية لبرنامج ربط العمليات التجارية للبناء.

الخطوات التالية