كيفية استخدام Doctest على نص عميل؟
-
20-09-2019 - |
سؤال
ألعب مع واجهة برمجة تطبيقات Google Calendar ، مما يخلق بعض الوظائف المفيدة.
أنا آخر ، أريد أن أفعل ذلك بشكل صحيح وضع بعض الدكتوراه المفيدة وبدء تطوير رشيق.
كيف تكتب Doctest لأن نتيجة كل وظيفة لا يمكن التنبؤ بها حقًا (اعتمادًا على ما هو جديد على الخادم):
>>> calendar = GoogleCalendar(user='blabla', password='blablabla') >>> calendar.list() login@trunat.fr's Calendar List 0. ... ...
إذا كنت لا أرغب في ترك كلمة المرور في الكود المصدري ، فكيف أفعل؟
كيفية كتابة اختبار لجميع وظيفة الفصل دون الكتابة في كل مرة نفس الشيء لكل وظيفة؟
>>> calendar = GoogleCalendar(user='blabla', password='blablabla') >>> calendar.myFunction()
لكل وظيفة من googlecalendar ، سأضطر إلى إنشاء الكائن أولاً؟
شكرا لك على مساعدتك
المحلول
إذا قررت اختبار خدمة خارجية ، فيمكنك استخدام لاعبا اساسيا اختبار:
- اكتب
make_test_server()
وظيفة ، والتي ستعيد اتصال خادم جديد لتبسيط الاختبارات الخاصة بك. - اجعله اختبارًا اختبارًا (دمية الخادم)
make_dummy_test_server()
مع الإخراج المتوقع. - اختبره ، وتأكد من التفكير في جميع الحالات (أخطاء الاتصال ، مجموعة فارغة تم إرجاعها).
يعتمد ذلك على مدى شمولية الاختبارات الخاصة بك. إذا كنت تحصل على الكثير من الأخطاء من هذا المجال من التعليمات البرمجية ، فقد تحتاج إلى مزيد من الاختبارات. إذا كان الكود الخاص بك يعمل ، فقد لا يستحق التعرق.
هل تقوم أيضًا بمراجعات التعليمات البرمجية؟ اختبار النظم؟ اختبار الوحدة رائع ، ولكن تأكد من أنك لا تحصل على قصر النظر.