سؤال

أحاول أن أرفع رأسي حول البدء في تنفيذ اختبارات الوحدة في مشروع C# الذي يستخدم دلاء AWS S3.

على الرغم من أن أبحث عنها لفترة وجيزة فقط ، إلا أنني أفهم أن أي شيء خارجي تقريبًا للمشروع يجب أن يسخر من "ضمان" نتائج يمكن التنبؤ بها.

باختصار ، أحاول تمرير فئة ثابتة (وهي مجردة ومختومة) كوسيطة تقيد المعلمة على واجهة قمت بتعريفها (في الوقت الحالي فقط تتألف من AWSClientFactory.CreateAmazonS3Client(string, string, RegionEndpoint).

ومع ذلك ، لا يمكنني معرفة كيفية تمرير هذه الفئة بالرجوع إليها (AWSClientFactory) ، ومن خلال بحث مكثف ، لا أرى أي طريقة للقيام بذلك.

نظرًا لأنني سأحتاج إلى المرور عبر Cloud Servider (الذي سيقلد API S3) من خلال هذه الطريقة نفسها ، كنت أعتقد أن هذا سيكون حلاً مقبولًا ، لكل من هذه الفئات الوهمية التي يتم تنفيذها من خلال الواجهة.

ما هي أفضل طريقة لتنفيذ هذا بنفس النوع من الهيكل ، حيث تسمى الطرق المتطابقة من فئات ثابتة مختلفة؟

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

المحلول

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

لتحقيق ما تريد ، يمكنك عمل الواجهة الخاصة بك ، ووضع بعض تطبيقات هذه الواجهة. واحد من هذا التنفيذ سوف يلف AWSClientFactory.

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