دستگرمی

دستگرمی یازدهم

دستگرمی این هفته

برنامه زیر را در نظر بگیرید:

کدام گزینه می‎تواند خروجی کد فوق باشد؟

  • 13543642 (54%, 7 رای)
  • 135642 (23%, 3 رای)
  • 13542642 (15%, 2 رای)
  • 123456 (8%, 1 رای)
  • 1234567 (0%, 0 رای)
  • 654321 (0%, 0 رای)
  • 531246 (0%, 0 رای)

مجموع رای ها: 13

Loading ... Loading ...

پاسخ

پاسخ صحیح: ۱۳۵۴۳۶۴۲

برای رسیدن به پاسخ صحیح، قبل از هر چیز باید معنای annotationهای بالای متدهای تست را بدانید.

مطابق با صفحه ۲۴ از اسلاید برنامه‌نویسی تست‌محور با کمک JUnit:

متدی که با Before@ مشخص می‌شود، قبل از هر متد تست، یک بار اجرا می‎شود.

متدی که با After@ مشخص می‌شود، بعد از هر متد تست، یک بار اجرا می‌شود.

متدی که با BeforeClass@ مشخص می‌شود، فقط یک بار قبل از همه تست‌ها اجرا می‌شود.

متدی که با AfterClass@ مشخص می‌شود، فقط یک بار بعد از همه تست‌ها اجرا می‌شود.

با این توضیحات، پس تست‌ها متدهای test1 و test2 به هر ترتیبی هم که اجرا شوند، حتما اول و یک بار متد initTestClass اجرا شده و عدد ۱ چاپ می‎شود و حتما در آخر هم یک بار متد endTestClass اجرا شده و عدد ۲ در آخر چاپ خواهد شد. یعنی باید داشته باشیم ۲ …۱

از طرفی دیگر، قبل و بعد هر کدام از تست‎ها هم، یکبار متد setup و یک بار هم متد tearDown اجرا می‎شود. یعنی قبل از اجرای هر تست، عدد ۳ و بعد از اجرای هر تست، عدد ۴ چاپ خواهد شد.

به این ترتیب، اجرای این فایل تست، دو خروجی ممکن دارد. یکی ۱۳۵۴۳۶۴۲ و یکی هم ۱۳۶۴۳۵۴۲

.

.

.

با ما همراه باشید

آدرس کانال تلگرام: JavaCupIR@

آدرس اکانت توییتر: JavaCupIR@

آدرس صفحه اینستاگرام: javacup.ir

آدرس گروه لینکدین: Iranian Java Developers

[تعداد: 2    میانگین: 5/5]
برچسب ها
نمایش بیشتر

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا