وحدة قاعدة بيانات الاختبار المشاكل المتعلقة باستكشاف الأخطاء وإصلاحها

قد تصادف المشاكل في هذا الموضوع عند إجراء اختبارات الوحدة تشغيل قاعدة بيانات:

  • أذونات غير كافية عند تشغيل اختبارات الوحدة أو توليد بيانات الاختبار

  • اختبار الوحدة والتغييرات App.Config المتجاهلة متى يمكنك اختبارات تشغيل وحدة

  • قاعدة بيانات التوزيع إلى الهدف غير متوقع عند يمكنك تشغيل اختبارات الوحدة

  • مهلة عند تشغيل قاعدة بيانات وحدة الاختبارات

أذونات غير كافية عند تشغيل اختبارات الوحدة أو توليد بيانات الاختبار

يمكنك تكوين اختبار وحدة إلى auإلىmatically بنشر قاعدة بيانات وإنشاء البيانات. في حالة عدم توفر الأذونات الكافية ل توليد بيانات إلى قاعدة بيانات الهدف، قد تتلقى خطأ يشير إلى فقط تفتقر للأذونات للاتصال بقاعدة بيانات.

ملاحظة

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

اختبار الوحدة والتغييرات App.Config المتجاهلة متى يمكنك اختبارات تشغيل وحدة

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

قاعدة بيانات التوزيع إلى الهدف غير متوقع عند يمكنك تشغيل اختبارات الوحدة

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

مهلات عندما قمت بتشغيل اختبارات وحدة قاعدة بيانات

إذا فشل اختبار وحدة قاعدة بيانات الخاصة بك بسبب الوقت-بعيداً، يمكنك زيادة الوقت-خارج فترة بتحديث الملف app.config في مشروع قاعدة بيانات الخاصة بك. تعيين المهلة في سلسلة الاتصال بالمدة إلى الانتظار عندما يتصل الاختبار الوحدة إلى الملقم. تعيين المهلة الأمر مدة إلى الانتظار عند تنفيذ الاختبار الوحدة Transact-SQLبرنامج نصي.

ملاحظة

إلى حل هذه المشكلة، قم بتحديد بقعة صغيرة القيمة للسمة CommandTimeout تشغيل عنصر سياق المناسب في ملف app.config للمشروع اختبار. على سبيل المثال، إلى تحديد مهلة أمر من 120 ثانية للعنصر PrivilegedContext، تحديث app.config كما يلي:

<DatabaseUnitTesting>
    <DatabaseDeployment DatabaseProjectFileName="test.dbproj" Configuration="Debug" />
    <DataGeneration DataGenerationFileName="test.dgen" ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="another connection string" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="test" CommandTimeout=”120” />
</DatabaseUnitTesting>

راجع أيضًا:

المهام

كيفية القيام بما يلي: إنشاء قاعدة بيانات وحدة اختبارات للدالات، ومشغلات، و الإجراءات المخزنة

كيفية القيام بما يلي: Configure Database Unit Test Execution