سؤال

أتساءل كيف يقوم الأشخاص حاليًا بإعادة ضبط بياناتهم/تنظيف بقايا الاختبار لاختبارات WatiN/Wartir الخاصة بهم؟

على سبيل المثال، لنفترض أن هناك اختبارًا لإضافة مستخدم إلى النظام ويجب أن يكون اسم المستخدم فريدًا.من الواضح أن التشغيل الأول بدون أي مستخدمين يجب أن يعمل بشكل جيد، لكن التشغيل الثاني سيفشل بدون تدخل يدوي.

هل كانت مفيدة؟

المحلول

هناك استراتيجيتان يمكنك القيام بهما لتحقيق ذلك، وأفترض أنك تستخدم WatiN، مع اختبارات Nunit أو VS Unit لتشغيل اختباراتك.

استخدام المعاملاتالأسلوب الذي يتم استخدامه عند اختبار الوحدة هو أن تقوم "بتغليف" الاختبار بالكامل في معاملة ما وعند الانتهاء من الاختبار، قم بإرجاع المعاملة مرة أخرى.في .net يمكنك استخدام System.Transactions لهذا الغرض.

إنشاء "صفحة كعب"أنشئ صفحة في تطبيقك تستخدم منطق العمل الحالي لحذف بياناتك.يجب تأمين هذه الصفحة ومن الأفضل ألا يتم نشرها حتى في الإنتاج.هذا هو النهج الذي أوصي به.

اتصل بخدمة ويبقم بتطوير خدمة ويب، أو اتصل بأحدها مباشرةً من طبقة التطبيق في التطبيق لإجراء الحذف.ربما ستحتاج إلى تطوير هذا أيضًا.

تنظيف مباشرةقم ببناء بعض الفئات في كود الاختبار الخاص بك للوصول إلى البيانات وتنظيفها.

مع أي من هذه الأشياء، ستحتاج إلى التنظيف قبل وبعد إجراء الاختبار، على سبيل المثال.في إعداد الاختبار وطرق تنظيف الاختبار.السبب وراء القيام بذلك مرتين هو أنك يجب أن تفترض أن الاختبار الخاص بك قد فشل ولم يتم تنظيفه بشكل صحيح.

استخدم Linq إلى Sql AFAIK إذا كنت تستخدم Linq to sql، فإنه يعمل في الذاكرة ويغلف التحديث بالكامل في معاملة لك تلقائيًا.إذا لم تقم ببساطة باستدعاء SubmitChanges();الطريقة إذن يجب أن تكون على ما يرام، لكنني لم أختبر هذا بنفسي.

نصائح أخرى

ولقد طلبت مطور لجعل السيناريو الذي سيتم إعادة تعيين قاعدة البيانات. بعد مجموعة من الاختبارات، أنا فقط أدعو أن السيناريو ونبدأ من قاعدة بيانات نظيفة.

ومايك - المسألة ليست فريدة من نوعها لWatir / WatiN. وينطبق ذلك على أي اختبار UI، لذلك بحث حول لحلول مماثلة لالسيلينيوم، الطاحونة، وحتى الاختبارات التكامل مقطوعة الرأس (HtmlUnit والاختبارات API، الخ). لقد أجبت على هذا السؤال بضع مرات شخصيا على ستاكوفيرفلوو.

وWatiN للاختبار UI.

في أجل اختبار السيناريو كنت تبحث عنه، يمكنك توليد هوية المستخدم باستخدام ج # رمز من شأنها أن تجعلها فريدة (مقابل الطريقة التي يتم تخزينها عند إنشاء الاختبار).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top