unittest و اصول اولیه

در Unit Test مفاهیم زیر اهمیت دارند:

Fixture: قبل از اجرای هر تست یک محیط باید فراهم شه که به این محیط fixture میگن. مثلا قبلا اجرای متدهای unittest شاید لازم باشه یک instance از کلاس مربوطه ساخته بشه و بعد از انجام شدن متد تست اون instance از بین بره. در ضمن ممکنه که قبل از از متد تست این instance نیاز به ساخته شدن داشته باشه. بنابراین این اینستنس رو توی یک تابع به اسم unittest.TestCase.setUp ساخته میشه. این متد قبل از هر متد تست اجرا میشه. به این محیط ایجاد شده قبل از اجرای هر تست Fixture میگن. بعد از اجرای هر تست هم unittest.TestCase.tearDown اجرا میشه که توی اون هم میشه اون اسنتنس رو پاک کرد. مثال دیگه میتونه این باشه که کانکشن به دیتابیس ساخته بشه که توی اون متدهای تست استفاده بشه. در واقع از یه بخشی از کد که توی همه متدها اجرا میشه فاکتور میگیریم.

Test Case: تست کیس اصل کار تست هستش. یک کلاس هست که توی اون متدهایی تعریف میشه که اون متدها هر کدوم یه قابلیت رو تست میکنه. مثلا

اگر یک TestCase.setUp به ارور بخوره هیچ تستی انجام نمیشه. اگر تمامی تست ها انجام بشه بعدش TestCase.tearDown اجرا میشه.

قبل از اجرای هر متد تست setUp و tearDown و __init__ اجرا میشه.

Test Suit: بهتره تست های بهم مرتبط رو با هم دسته بندی کنیم و باهم اجرا کنیم. این کارو با Test Suit انجام میدیم.

ترتیب اجرا fixture ها به صورت زیره:

دیدگاهتان را بنویسید

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