استخدام اللياقة لاختبار واجهات برمجة التطبيقات المريحة باستخدام مساحات أسماء RESTFIXTURE
سؤال
أنا أفكر في استخدام Fitnesse لكتابة بعض اختبارات القبول لبعض الامتدادات إلى واجهة برمجة تطبيقات مريحة. تتضمن استجابة GET XML في مساحة اسم مجهولة ، على سبيل المثال
<?xml version="1.0" encoding="utf-8"?>
<things xmlns="http://example.com/ns/">
<thing id="1"/>
<thing id="2"/>
</things>
يبدو أن Fitnesse Thucture RESTFIXTURE مرشح جيد لهذا الغرض. يجب أن يسمح لي بتشغيل XPath للتحقق من الاستجابة ، ولكن هذا لا يبدو أنه يلعب بشكل جيد مع مساحات الأسماء المجهولة. سوف يفشل الاختبار التالي لأن مساحة الاسم التي تحدد:
|!-smartrics.rest.fitnesse.fixture.RestFixture-!|http://example.com/v1.0/inbox |
|GET | /things | 200 | | //thing |
لا يمكنني العثور على طريقة للتعبير عن XPath بحيث يتم تحليلها بنجاح.
بضع ملاحظات:
(أ) يمكنك الاستعلام عن سمات لأنها ليست في مساحة الاسم. يمر التالي:
|GET | /things | 200 | | //@id |
(ب) مثال على ذلك في مكان آخر اقترح باستخدام مطابقة السلسلة. هذا خطأ - يمر التالي أيضًا!
|GET | /things | 200 | | 'complete and utter nonsense' |
المحلول
RESTFIXTURE تدعم الآن مساحات الأسماء. تحتاج إلى تحديد سياق مساحة الاسم كخريطة قيمة رئيسية لمساحة الاسم المستعار/مساحة الاسم URI باستخدام RESTFIXTURECONFIG (يجب أن يتضمن ذلك الاسم المستعار لمساحة الاسم الافتراضية أيضًا).
بعد ذلك ، يمكنك استخدام الأسماء المستعارة الموجودة فيه المحددة في XPaths التي تتطابق مع هيئة الاستجابة للطلب ، أو في أمر LET () ، لاستخراج البيانات من الاستجابة.
يتم تضمين مثال في الوثائق المباشرة للراحة:
https://github.com/smartrics/restfixture/downloads (تحقق من HTML Restfixture-u003Cver> .لغة البرمجة