Flutter-geolocator: أكره حقا الأساليب الثابتة ...

تم إنشاؤها على ٢٨ أبريل ٢٠٢١  ·  3تعليقات  ·  مصدر: Baseflow/flutter-geolocator

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

الآن كل شيء ثابت ... هل هناك أي طريقة جديدة لا تتضمن الأساليب الثابتة؟

التعليق الأكثر فائدة

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

هذا له الفوائد التالية:

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

سأغلق هذه القضية ، لكن لا تتردد في مواصلة المناقشة ؛)

ال 3 كومينتر

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

اقتراحي هو كتابة غلاف حول محدد الموقع الجغرافي والسخرية من الغلاف بدلاً من ذلك.

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

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

لا تسخر أيضًا من استخدام الشبكة وإجراء اختباراتك بدون شبكة ، فسيكون ذلك ممتعًا: D أو حتى مع عرض شبكة بالفعل واحصل على ساعة واحدة لتنفيذ اختباراتك.

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

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

هذا له الفوائد التالية:

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

سأغلق هذه القضية ، لكن لا تتردد في مواصلة المناقشة ؛)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات