فهرست مطالب:

آیا می توانید روش های استاتیک را واحد تست کنید؟
آیا می توانید روش های استاتیک را واحد تست کنید؟

تصویری: آیا می توانید روش های استاتیک را واحد تست کنید؟

تصویری: آیا می توانید روش های استاتیک را واحد تست کنید؟
تصویری: چطوری مثل باهوشا درس بخونیم؟ نه مثل خر خونا! - دیگه استرس برای امتحانات نداشته باش! 2024, ممکن است
Anonim

به واحد شما را تست می کند باید یک تکه کوچک از شما کد، وابستگی های آن را دوباره سیم کشی کنید و تست آن را در انزوا این کار سخت است روش های استاتیک ، نه تنها در صورت دسترسی به وضعیت جهانی بلکه حتی اگر آنها فقط به دیگران زنگ می زنند روش های استاتیک.

با توجه به این، روش های استاتیک را چگونه آزمایش می کنید؟

چهار مرحله آسان برای تنظیم یک تست که تماس ایستا را مسخره می کند وجود دارد:

  1. از PowerMock JUnit runner استفاده کنید: @RunWith(PowerMockRunner.
  2. کلاس آزمایشی را که مسخره می کنیم اعلام کنید:
  3. به PowerMock نام کلاسی را که حاوی متدهای استاتیک است بگویید:
  4. انتظارات را تنظیم کنید و به PowerMock بگویید انتظار تماس با یک روش ثابت را داشته باشد:

به همین ترتیب، آیا می‌توانیم روش‌های استاتیک سی شارپ را مسخره کنیم؟ 4 پاسخ. Moq (و سایر مبتنی بر DynamicProxy مسخره چارچوب ها) قادر به انجام آن نیستند مسخره کردن هر چیزی که مجازی یا انتزاعی نباشد روش . متناوبا، از سوی دیگر، شما می توانستید طرح خود را به فراخوانی انتزاعی تغییر دهید روش های استاتیک و این انتزاع را از طریق تزریق وابستگی در اختیار کلاس خود قرار دهید.

با توجه به این موضوع، روش های خصوصی را چگونه واحد تست می کنید؟

واحد آزمایش فقط API در دسترس عموم است. هنگام نوشتن تست های واحد ، رفتار مشتریان SUT را تقلید کنید. نکن تست روش های خصوصی . هر دو واحد آزمایش آنها را به طور غیرمستقیم با استفاده از API عمومی یا استخراج آنها در کلاس های جداگانه و تست به جای آن کلاس ها

روش استاتیک چیست؟

در جاوا، a روش استاتیک هست یک روش که به یک کلاس تعلق دارد تا نمونه ای از یک کلاس. این روش برای هر نمونه از کلاس قابل دسترسی است، اما مواد و روش ها تعریف شده در یک نمونه فقط توسط آن عضو یک کلاس قابل دسترسی است.

توصیه شده: