إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: Azure Logic Apps (قياسي)
أثناء إنشاء مجموعة القواعد الخاصة بك بحيث يمكنك دمج منطق العمل مع مهام سير العمل القياسية، اختبر مجموعة القواعد الخاصة بك بشكل متزايد أو قبل استخدام القواعد في التطبيق الخاص بك. وبهذه الطريقة، يمكنك التحقق من أن القواعد تعمل بالطريقة التي تتوقعها على طول الطريق، أو يمكنك العثور على المشاكل وإصلاحها في وقت أقرب عندما تكون القواعد الخاصة بك أقل تعقيدا وأسهل في استكشاف الأخطاء وإصلاحها.
إذا انتظرت لاختبار القواعد الخاصة بك في نفس الوقت أو عند الانتهاء، وكانت قواعدك طويلة أو معقدة، فقد تحصل على أخطاء أو مشاكل أكثر مما كنت تعتقد، والتي قد تستغرق وقتا أطول لحلها أو قد يصعب استكشاف الأخطاء وإصلاحها.
المتطلبات الأساسية
ملف XML الذي يحتوي على مجموعة القواعد التي تريد العمل عليها والحقائق التي تريد اختبارها.
لإضافة حقائق، حدد قيمها في ملفات XML التي تشير إليها من نافذة Select Facts التي تفتح بعد تحديد Test Ruleset في الخطوات التالية. قد ترغب في إنشاء منشئ حقائق لإضافة حقائق .NET. لمزيد من المعلومات، راجع إنشاء منشئي الحقائق والمستردين.
اختبار إصدار مجموعة القواعد
افتح Microsoft Rules Composer. في نافذة RuleSet Explorer ، حدد إصدار مجموعة القواعد الذي تريد اختباره، والذي يفتح نافذة معلومات الإصدار.
من القائمة المختصرة لإصدار مجموعة القواعد، حدد Test Ruleset.
في المربع تحديد الحقائق الذي يظهر، تعرض النافذة العلوية أنواع الحقائق المشار إليها بواسطة قواعد مجموعة القواعد.
لإضافة مثيل حقيقة، ضمن مستندات XML أو فئات .NET، حدد نوع حقيقة مطابق، ثم حدد إضافة مثيل.
إشعار
إذا قمت بتأكيد فئة مشتقة في قاعدة، ولكن تتم كتابة القواعد مباشرة مقابل أعضاء الفئة الأساسية، يتم تأكيد مثيل فئة أساسية بدلا من ذلك، ويتم تقييم الشروط مقابل مثيل الفئة الأساسية.
لإزالة مثيل حقيقة، حدد نوع الحقيقة المقابل، ثم حدد إزالة المثيل.
لإضافة منشئ حقائق قمت ببنائه، في نافذة منشئي الحقائق، حدد إضافة.
عندما تكون مستعدا، حدد Test.
تعرض نافذة Output إخراج تتبع اختبار مجموعة القواعد.
افتح القائمة المختصرة لنافذة إخراج الاختبار، وحدد خيارا لحفظ نص الإخراج أو مسحه أو تحديده أو نسخه حتى تتمكن من مراجعة النتائج.
يصف الجدول التالي أوامر نافذة الإخراج التي يمكنك استخدامها للعمل مع نص الإخراج:
مهمة الأمر "اختصار" مسح كل النص من نافذة الإخراج. مسح الكل انسخ النص المحدد في نافذة الإخراج إلى الحافظة. نسخ حدد كل النص في نافذة الإخراج. تحديد الكل احفظ النص المضمن في نافذة الإخراج إلى ملف محدد. حفظ إلى ملف
إخراج تتبع اختبار مجموعة القواعد
يصف هذا القسم معلومات التعقب والأنشطة المضمنة مع التتبع عند اختبار مجموعة قواعد باستخدام Microsoft Rules Composer. يمكن أن يتضمن إخراج التعقب أنواع العبارات التالية:
- نشاط الحقائق
- تقييم الحالة
- تحديث جدول الأعمال
- تم تشغيل القاعدة
نشاط الحقائق
يشير هذا النشاط إلى تغييرات في الحقائق في ذاكرة عمل المحرك. يوضح المثال التالي إدخال نشاط حقيقة عينة:
FACT ACTIVITY 3/16/2023 9:50:28 AM
Rule Engine Instance Identifier: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Ruleset Name: LoanProcessing
Operation: Assert
Object Type: MyTest.test
Object Instance Identifier: 872
يصف الجدول التالي المعلومات الواردة في هذا الإدخال:
| عنصر | الوصف |
|---|---|
| معرف مثيل محرك القاعدة | معرف فريد لمثيل RuleEngine الذي يوفر بيئة التنفيذ لتشغيل القاعدة. |
| اسم مجموعة القواعد | اسم مجموعة القواعد. |
| العملية | يمكن أن تحدث أنواع العمليات التالية في نشاط حقيقة: - التأكيد: تتم إضافة حقيقة إلى ذاكرة العمل. ملاحظة: إذا لم يتطابق نوع الحقيقة المؤكدة مع أي من الأنواع المستخدمة في مجموعة القواعد، تظهر الدالة Assert الخطأ "Assert – Fact Unrecognized". - تحديث: تقوم القاعدة بتحديث حقيقة، والتي يجب إعادة تعيينها بعد ذلك في المحرك لإعادة التقييم، استنادا إلى البيانات والحالة الجديدة. - التراجع: تتم إزالة حقيقة من ذاكرة العمل. |
| نوع الكائن | نوع الحقائق لنشاط معين: - TypedXmlDocument يتم عرض التأكيدات لكل من مثيلات TypedXmlDocument الأصل والتابع. |
| معرف مثيل الكائن | معرف المثيل الفريد لمرجع الحقائق. |
تقييم الحالة
يشير هذا النشاط إلى النتيجة الناتجة عن تقييم التقييمات الفردية. يوضح المثال التالي إدخال تقييم حالة عينة:
CONDITION EVALUATION TEST (MATCH) 1/07/2023 5:33:13 PM
Rule Engine Instance Identifier: f1dd3ff2-b4a8-4fe1-8d46-4d9b3e2502d3
Ruleset Name: LoanProcessing
Test Expression: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:Root.EmploymentType/TimeInMonths >= 18
Left Operand Value: 31
Right Operand Value: 18
Test Result: True
يصف الجدول التالي المعلومات الواردة في هذا الإدخال:
| عنصر | الوصف |
|---|---|
| تعبير الاختبار | تعبير أحادي بسيط أو ثنائي داخل قاعدة. |
| قيمة المعاملات اليسرى | قيمة المصطلح إلى الجانب الأيسر من التعبير. |
| قيمة المعامل الأيمن | قيمة المصطلح إلى الجانب الأيمن من التعبير. |
| نتيجة الاختبار | النتيجة من التقييم، وهي إما True أو False. |
تحديث جدول الأعمال
يشير هذا النشاط إلى القواعد التي تتم إضافتها إلى جدول أعمال محرك القواعد للتنفيذ اللاحق. يوضح المثال التالي نموذج إدخال تحديث جدول الأعمال:
AGENDA UPDATE 1/07/2023 5:33:13 PM
Rule Engine Instance Identifier: f1dd3ff2-b4a8-4fe1-8d46-4d9b3e2502d3
Ruleset Name: LoanProcessing
Operation: Add
Rule Name: Employment Status Rule
Conflict Resolution Criteria: 0
يصف الجدول التالي المعلومات الواردة في هذا الإدخال:
| عنصر | الوصف |
|---|---|
| العملية | العملية التي تضيف القواعد أو تزيلها من جدول الأعمال. |
| اسم القاعدة | اسم القاعدة التي تتم إضافتها أو إزالتها من جدول الأعمال. |
| معايير حل التعارضات | أولوية القاعدة، التي تحدد الترتيب النسبي عند تنفيذ الإجراءات ومكان تنفيذ الإجراءات ذات الأولوية الأعلى أولا. |
تم تشغيل القاعدة
يشير هذا النشاط إلى تنفيذ إجراءات القاعدة. يوضح المثال التالي إدخال قاعدة تم تشغيلها:
RULE FIRED 1/07/2023 5:33:13 PM
Rule Engine Instance Identifier: f1dd3ff2-b4a8-4fe1-8d46-4d9b3e2502d3
Ruleset Name: LoanProcessing
Rule Name: Residency Status Rule
Conflict Resolution Criteria: 10
وظيفة Update
يوضح هذا المثال نموذج قاعدة "InventoryCheck" وقاعدة "Ship" في مجموعة قواعد نموذجية تسمى "Order". عند التحقق من القاعدة لأول مرة، يتم تقييم الشرط المقترن بقاعدة "الشحن" إلى False. ومع ذلك، عند تشغيل قاعدة "InventoryCheck"، يتم تغيير الحقل InventoryAvailable في الطلب ، ويتم إصدار الأمر Update إلى المحرك ل "عنصر الطلب"، مما يتسبب في إعادة تقييم قاعدة "الشحن". هذه المرة، يتم تقييم الشرط إلى True، ويتم تشغيل قاعدة "Ship".
إشعار
إذا كانت القواعد الخاصة بك مكتوبة بشكل غير صحيح، فقد يتسبب التسلسل الأمامي مع دالة التحديث في تكرار حلقي لا نهائي. في هذا الحدث، عند اختبار مجموعة القواعد في Microsoft Rules Composer، تتلقى رسالة خطأ مع النص "اكتشف مشغل القاعدة حلقة تنفيذ."
قاعدة InventoryCheck
IF Inventory.AllocateInventory == True
THEN Order.InventoryAvailable == True
Update(Order)
قاعدة الشحن
IF Order.InventoryAvailable == True
THEN Shipment.ShipOrder
الناتج
RULE ENGINE TRACE for RULESET: Order 3/17/2023 10:31:17 AM
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Assert
Object Type: TestClasses.Order
Object Instance Identifier: 448
CONDITION EVALUATION TEST (MATCH) 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Test Expression: TestClasses.Order.inventoryAvailable == True
Left Operand Value: null
Right Operand Value: True
Test Result: False
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Assert
Object Type: TestClasses.Shipment
Object Instance Identifier: 447
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Assert
Object Type: TestClasses.Inventory
Object Instance Identifier: 446
CONDITION EVALUATION TEST (MATCH) 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Test Expression: TestClasses.Inventory.AllocateInventory == True
Left Operand Value: True
Right Operand Value: True
Test Result: True
AGENDA UPDATE 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Add
Rule Name: InventoryCheck
Conflict Resolution Criteria: 0
RULE FIRED 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Rule Name: InventoryCheck
Conflict Resolution Criteria: 0
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Update
Object Type: TestClasses.Order
Object Instance Identifier: 448
CONDITION EVALUATION TEST (MATCH) 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Test Expression: TestClasses.Order.inventoryAvailable == True
Left Operand Value: True
Right Operand Value: True
Test Result: True
AGENDA UPDATE 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Add
Rule Name: Ship
Conflict Resolution Criteria: 0
RULE FIRED 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Rule Name: Ship
Conflict Resolution Criteria: 0
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Retract
Object Type: TestClasses.Order
Object Instance Identifier: 448
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Retract
Object Type: TestClasses.Shipment
Object Instance Identifier: 447
FACT ACTIVITY 3/17/2023 10:31:17 AM
Rule Engine Instance Identifier: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Ruleset Name: Order
Operation: Retract
Object Type: TestClasses.Inventory
Object Instance Identifier: 446
أمثلة على إخراج تتبع مجموعة القواعد
يوفر هذا القسم أمثلة تعرض مخرجات اختبار مجموعة القواعد للأنوع المختلفة من الحقائق.
نوع حقيقة فئة .NET
هذا المثال هو نموذج قاعدة تسمى "TestRule1" في مجموعة قواعد تسمى "معالجة القروض":
IF test.get_ID > 0
THEN <do something>
الناتج
RULE ENGINE TRACE for RULESET: LoanProcessing 3/16/2023 9:50:28 AM
FACT ACTIVITY 3/16/2023 9:50:28 AM
Rule Engine Instance Identifier: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Ruleset Name: LoanProcessing
Operation: Assert
Object Type: MyTest.test
Object Instance Identifier: 872
CONDITION EVALUATION TEST (MATCH) 3/16/2023 9:50:28 AM
Rule Engine Instance Identifier: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Ruleset Name: LoanProcessing
Test Expression: MyTest.test.get_ID > 0
Left Operand Value: 100
Right Operand Value: 0
Test Result: True
AGENDA UPDATE 3/16/2023 9:50:28 AM
Rule Engine Instance Identifier: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Ruleset Name: LoanProcessing
Operation: Add
Rule Name: TestRule1
Conflict Resolution Criteria: 0
RULE FIRED 3/16/2023 9:50:28 AM
Rule Engine Instance Identifier: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Ruleset Name: LoanProcessing
Rule Name: TestRule1
Conflict Resolution Criteria: 0
FACT ACTIVITY 3/16/2023 9:50:28 AM
Rule Engine Instance Identifier: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Ruleset Name: LoanProcessing
Operation: Retract
Object Type: MyTest.test
Object Instance Identifier: 872
نوع حقيقة TypedXmlDocument
يوضح هذا المثال أن كيان TypedXmlDocument مع نوع المستند المسمى Microsoft.Samples.BizTalk.LoansProcessor.Case مؤكد في محرك القواعد. استنادا إلى قيمة محدد XPath المحددة في القاعدة، ينشئ المحرك كيان TypedXmlDocument تابعا ويؤكده بالنوع المسمى Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType، استنادا إلى نوع المستند وسلسلة المحدد. يتم تقييم كيان TypedXmlDocument التابع هذا إلى True في الحالة ، مما يتسبب في تحديث جدول الأعمال وإطلاق القاعدة. ثم يتم التراجع عن كيانات TypedXmlDocument الأصل والتابع.
يوضح هذا المثال نموذج القاعدة المسماة "TestRule1" في مجموعة قواعد تسمى "LoanProcessing":
IF Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
THEN <do something>
الناتج
RULE ENGINE TRACE for RULESET: LoanProcessing 3/17/2023 9:23:05 AM
FACT ACTIVITY 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Operation: Assert
Object Type: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
Object Instance Identifier: 858
FACT ACTIVITY 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Operation: Assert
Object Type: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
Object Instance Identifier: 853
CONDITION EVALUATION TEST (MATCH) 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Test Expression: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
Left Operand Value: 6
Right Operand Value: 4
Test Result: True
AGENDA UPDATE 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Operation: Add
Rule Name: TestRule1
Conflict Resolution Criteria: 0
RULE FIRED 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Rule Name: TestRule1
Conflict Resolution Criteria: 0
FACT ACTIVITY 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Operation: Retract
Object Type: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
Object Instance Identifier: 858
FACT ACTIVITY 3/17/2023 9:23:05 AM
Rule Engine Instance Identifier: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Ruleset Name: LoanProcessing
Operation: Retract
Object Type: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
Object Instance Identifier: 853