سبک های نوشتن Test در نرم افزار
🇺🇸 Classic(Chicago/Detroit) style TDD
این سبک که در حقیقت توسط Kent Beck توصیه میشه روشی هست که در زمان نوشتن تست ها، شما بیشتر به خروجی اهمیت میدید، نه عملکرد داخلی SUT. به همین دلیل در این روش استفاده از Stub و Fake خیلی بیشتر از Mock هست.
به عبارت دیگه، این روش تست، تمرکزش بر روی External Observed Behavior هست.
🇬🇧 Mockist (London) style TDD
در این سبک بر عکس روش Classic تمرکز بر روی رفتار ها و ارتباطات داخلی یک SUT هست و به همین دلیل در این روش ما بیشتر از Mock ها استفاده می کنیم که به دقت رفتار داخلی رو بتونیم بررسی کنیم.
@learning_with_m
❓ حالا شاید بپرسید کدوم روش بهتره؟
طبق معمول تمام جواب های صنعت نرم افزار : It Depends !
ولی به قول Udi Dahan باید Fully Formed It Depends باشه. برای همین منم سعی می کنیم شرایط رو بگم :
اگر در حال ریفکتور هستند، اگر تعاملات داخلی کد براتون مهم نیست و خروجی مهمه، اگر کدتون وابستگی پیچیده ای نداره و اگر پایداری بالایی در تست ها میخواهید روش Classic بهتر عمل می کنه.
اگر ارتباطات داخلی SUT مهمه، اگر وابستگی زیادی بین اجزا هست، اگر می خواهید بر اساس تست Design کنید، روش Mockist بهتر عملی می کنه.
قطعا میشه این روش های رو جای همدیگه هم استفاده کرد و هیییییییچ چیز در نرم افزار، قطعی نیست و همه چیز به Context بر می گرده.
پ.ن : من یه روش نا محبوب هم برای به خاطر سپاری این دو روش دارم 😝:
اگر دوست داری همه جا سرک بکشی و مستعمره داشته باشی و توی کاره همه فضولی کنی، پس توی London Style باید باشی، تیپیکال انگلستان ! یعنی Mockist.
اگر مدل وطن پرستی طور و درست کار می کنه دست بهش نزن هستی، Chicago طور هستی ! یعنی Classical.
Post #74
790
- 👍 8