مشاركة عبر


فئة UnitTestExecutor

توفر هذه الفئة وظائف لتشغيل اختبارات الوحدة لسير عمل تطبيق المنطق القياسي في تطبيقات Azure Logic Apps أحادية المستأجر. تعمل الفئة كنقطة إدخال رئيسية لتشغيل اختبارات سير العمل مع البيانات الوهمية والتكوينات المخصصة.

مساحة الاسم

Microsoft.Azure.Workflows.UnitTesting

الاستخدام

يمكنك استخدام UnitTestExecutor الفئة لتحميل تعريفات سير العمل وتشغيل مهام سير العمل باستخدام بيانات الاختبار:

// Initialize with workflow file path
var executor = new UnitTestExecutor("path/to/workflow.json");

// Initialize with all configuration files
var executor = new UnitTestExecutor(
    workflowFilePath: "path/to/workflow.json",
    connectionsFilePath: "path/to/connections.json",
    parametersFilePath: "path/to/parameters.json",
    localSettingsFilePath: "path/to/local.settings.json"
);

// Execute workflow with test mocks
var testMock = new TestMockDefinition
{
    TriggerMock = new TriggerMock { /* trigger configuration */ },
    ActionMocks = new List<ActionMock> { /* action mocks */ }
};

var result = await executor.RunWorkflowAsync(testMock);

المنشئون

UnitTestExecutor(string, string, string, string)

تهيئة مثيل جديد للفئة UnitTestExecutor باستخدام ملفات سير العمل والتكوين.

المعلمات

اسم نوع وصف المطلوب
مسار سير العمل خيط المسار إلى ملف تعريف سير العمل ‏‏نعم‬
connectionsFilePath خيط المسار إلى ملف تكوين الاتصالات لا
parametersFilePath خيط المسار إلى ملف تكوين المعلمات لا
localSettingsFilePath خيط المسار إلى ملف الإعدادات المحلية لا

مثال

var executor = new UnitTestExecutor(
    workflowFilePath: "MyWorkflow/workflow.json",
    connectionsFilePath: "MyWorkflow/connections.json",
    parametersFilePath: "MyWorkflow/parameters.json",
    localSettingsFilePath: "local.settings.json"
);

الخصائص

إعدادات سير العمل

إعدادات تعريف سير العمل.

الخاصية نوع وصف المطلوب
إعدادات سير العمل TestWorkflowSettings إعدادات التكوين لتنفيذ اختبار سير العمل ‏‏نعم‬

الأساليب

RunWorkflowAsync(TestMockDefinition, string, int)

تنفيذ سير عمل باستخدام ملفات التكوين المتوفرة مع المشغل الوهمي المحدد والإجراء الوهمي.

المعلمات

اسم نوع وصف المطلوب افتراضي
testMock TestMockDefinition تعريف الاختبار الوهمي الذي يحتوي على المشغل الوهمي والعمل الوهمي ‏‏نعم‬ -
CustomCodeFunctionFilePath خيط المسار إلى ملف دالة التعليمات البرمجية المخصصة لا صِفْر
المهلةInSeconds الباحث تكوين المهلة بالثوان لا DefaultUnitTestTimeoutSeconds

المرتجعات

Task<TestWorkflowRun>: مهمة تمثل العملية غير المتزامنة التي ترجع نتيجة تشغيل سير العمل.

مثال

var testMock = new TestMockDefinition
{
    TriggerMock = new TriggerMock
    {
        Kind = "Http",
        Outputs = new
        {
            body = new { message = "Test message" },
            statusCode = 200
        }
    },
    ActionMocks = new List<ActionMock>
    {
        new ActionMock
        {
            ActionName = "Send_an_email",
            Kind = "Office365Outlook",
            Outputs = new { status = "success" }
        }
    }
};

// Run with default timeout
var result = await executor.RunWorkflowAsync(testMock);

// Run with custom timeout and custom code
var result = await executor.RunWorkflowAsync(
    testMock: testMock,
    customCodeFunctionFilePath: "path/to/custom-functions.js",
    timeoutInSeconds: 120
);