TGViewer
Learning With M Learning With M @learning_with_m · 2.25K subscribers
Post #74 790
سبک های نوشتن 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.
  • 👍 8
More from @learning_with_m
  1. Oct 4, 2026قسمت اول از طراحی سیستم ورک فلو انجین - چیزی شبیه به n8n توی این جلسه سعی میکنیم، یه ورک ف…
  2. Oct 3, 2026آندری کارپتی (Andrej Karpathy) یه توییت جالب زده در مورد اینکه با قوی‌تر شدن LLMها، کار اص…
  3. Sep 27, 2026به عنوان یک معلم، یادگیری برای من امیده، به عنوان یک پدر، یادگیری برای من مسیر نجات فرزندم…
  4. Sep 25, 2026این هم خیلی جالب درآورده بود Iranshahr.netlify.app
  5. Sep 24, 2026همینه! به نظرم AI میتونه همه چی بزنه و اینکه 'چی' بزنه نیاز به وقت و زمان داره. این نکته خ…
  6. Sep 22, 2026مارتین فاولر یه مطلب نوشته به اسم «I don't like LLMs». فاولر قبول داره که این ابزارها کار…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →