instagram : @a_vakily7
تست کد های پایتون
معمولا قبل از ورود نرم افزار به دنیای پروداکشن، برنامه نویسان کد های خود را تست می کنند. در واقع اینکار به منظور اطمینان از عملکرد برنامه به کار می رود. هر چه پروژه یا تیم نرم افزاری بزرگ تر باشد، اهمیت تست نویسی نیز بالاتر می رود.
از میان ماژول ها و روش هایی که برای تست در پایتون استفاده می شود، یکی معروف ترین آن ها، استفاده از ماژول pytest می باشد.
شما در این نوشته شاهد نصب، مفاهیم و مثال هایی از این ماژول خواهید بود.
از همراهیتان صمیمانه سپاسگزارم ...
نصب ماژول pytest
با استفاده از دستور زیر می توانید pytest را نصب کنید.
pip install pytest
سناریو
برای درک بهتر موضوع سناریویی را مورد بررسی قرار می دهیم. سناریو به این صورت است که برنامه ای خواهیم نوشت که براساس الگوریتم quick sort عمل مرتب سازی را انجام دهد.
الگوریتم quick sort را از اینجا برداشتم.
حال برای بررسی الگوریتم، شروع به نوشتن تست ها می کنیم. لازم به ذکر است که فایل ها و توابعی که می خواهیم آن ها را تست کنیم باید با _test شروع شوند.
تست: آیا الگوریتم، عملیات مرتب سازی را درست انجام داده است؟
در تابع test_my_arr با استفاده از assert انتظار داریم آرایه my_arr مرتب شده باشد.
با استفاده از کد زیر می توانید تست را اجرا نمایید.
pytest -v .\test_نام_فایل.py
در نتیجه می توانید مشاهده کنید که تست پاس شده است.
تست: اگر مقدار high را تغییر دهیم باید با خطا مواجه شویم و در نهایت تست نباید پاس شود. به عنوان مثال مقدار آن را از n-1 به n تغییر می دهیم.
همانطور که در زیر مشاهده می کنید، تست پاس نمی شود.
برای پاس شدن تست بالا، می توانیم براساس کد زیر بنویسیم.
در نتیجه تست پاس خواهد شد. در کد بالا ما منتظر برخورد با اکسپشن IndexError هستیم که در انتها رخ می دهد و منجر به پاس شدن تست می شود.
امیدوارم نوشته امروز برایتان مفید بوده باشد.
نویسنده : ابوالفضل وکیلی
مطلبی دیگر از این انتشارات
بهترین کد کدی هست که نوشته نشود.(قسمت اول)
مطلبی دیگر از این انتشارات
Organizing files in python - part 3
مطلبی دیگر از این انتشارات
تجربه شرکت در مسابقه برنامه نویسی گوگل Google Code Jam 2017 و دعوت به شرکت در Google Code Jam 2018