Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
پارت ۸: تست و ارزیابی کد

**سلام دوستان! 👋

در این پارت از آموزش بک‌اند با پایتون، به موضوع تست و ارزیابی کدها می‌پردازیم. تست نرم‌افزار یکی از مراحل حیاتی در توسعه پروژه‌های نرم‌افزاری است که باعث می‌شود از عملکرد صحیح کد اطمینان حاصل کنیم. 🚀**

معرفی اصول تست نرم‌افزار 🛠️

تست نرم‌افزار به فرآیندی گفته می‌شود که در آن برنامه‌نویسان عملکرد کد خود را بررسی می‌کنند تا از صحت، کارایی و عملکرد درست آن اطمینان حاصل کنند. این فرآیند شامل تست واحد (Unit Testing)، تست یکپارچگی (Integration Testing)، و تست سیستم (System Testing) است.

نوشتن تست‌های واحد (Unit Tests) با pytest 🧪

تست واحد به بررسی عملکرد یک واحد کوچک از کد (مثلاً یک تابع) می‌پردازد. برای نوشتن تست‌های واحد در پایتون می‌توان از کتابخانه pytest استفاده کرد. ابتدا pytest را نصب کنید:

pip install pytest

سپس یک فایل تست ایجاد کنید و تست‌های خود را بنویسید. مثلاً فرض کنید یک تابع ساده برای جمع دو عدد داریم:

# calculator.py
def add(a, b):
return a + b

می‌توانیم تست واحد این تابع را به صورت زیر بنویسیم:

# test_calculator.py
from calculator import add

def test_add():
assert add(1, 2) == 3
assert add(-1, 1) == 0
assert add(0, 0) == 0

برای اجرای تست‌ها از دستور زیر استفاده کنید:

pytest

تست یکپارچگی و تست سیستم 🔄

تست یکپارچگی به بررسی عملکرد ماژول‌های مختلف به صورت ترکیبی می‌پردازد. این نوع تست‌ها اطمینان می‌دهند که ماژول‌های مختلف برنامه به درستی با یکدیگر تعامل دارند. تست سیستم نیز به بررسی عملکرد کلی سیستم به عنوان یک واحد یکپارچه می‌پردازد.

ابزارهای تست خودکار و CI/CD 🤖

ابزارهای تست خودکار مانند Jenkins، Travis CI، و GitHub Actions به توسعه‌دهندگان کمک می‌کنند تا تست‌ها را به صورت خودکار اجرا کنند و از صحت عملکرد کد در هر تغییر اطمینان حاصل کنند. این ابزارها به ویژه در پروژه‌های بزرگ و تیم‌های چند نفره بسیار کاربردی هستند.

ادامه مسیر 🚀

در پارت بعدی، به مبحث استقرار (Deployment) پروژه می‌پردازیم و نحوه آماده‌سازی و استقرار پروژه را در یک سرور یا سرویس ابری بررسی می‌کنیم.

🔗 [لینک کانال تلگرام]

#پایتون #بک_اند #تست_نرم_افزار #pytest #برنامه_نویسی #تست_واحد
🔥3
آموزش PyTest در پایتون – بخش اول

PyTest یکی از محبوب‌ترین ابزارهای تست در پایتون است که به دلیل سادگی و قدرت زیادش مورد توجه قرار گرفته است. در این پست، به معرفی و آموزش استفاده از PyTest می‌پردازیم.

نصب PyTest
برای شروع کار با PyTest، ابتدا باید آن را نصب کنید. این کار بسیار ساده است و می‌توانید با استفاده از pip آن را نصب کنید:

pip install pytest

نوشتن اولین تست با PyTest
برای نوشتن تست‌ها در PyTest، کافی است که توابع تست خود را با test_ شروع کنید. به مثال زیر توجه کنید:

# فایل test_sample.py

def test_addition():
assert 1 + 1 == 2

def test_subtraction():
assert 2 - 1 == 1

در این مثال، دو تابع تست ساده نوشته‌ایم. برای اجرای این تست‌ها، کافی است در خط فرمان دستور زیر را اجرا کنید:

pytest

PyTest به صورت خودکار فایل‌های تست شما را پیدا کرده و آنها را اجرا می‌کند.

استفاده از pytest.fixture
در PyTest، می‌توانید از قابلیت fixtures برای آماده‌سازی پیش‌شرط‌ها و تمیز کردن بعد از تست‌ها استفاده کنید. به مثال زیر توجه کنید:

# فایل test_fixture.py

import pytest

@pytest.fixture
def sample_data():
return [1, 2, 3]

def test_sum(sample_data):
assert sum(sample_data) == 6

در این مثال، یک fixture به نام sample_data تعریف کرده‌ایم که یک لیست از اعداد را برمی‌گرداند. این fixture به عنوان ورودی به تابع تست test_sum ارسال می‌شود.

گزارش‌دهی PyTest
یکی از ویژگی‌های قدرتمند PyTest، قابلیت گزارش‌دهی آن است. با استفاده از پلاگین‌ها می‌توانید گزارش‌های مختلفی از نتایج تست‌ها دریافت کنید. برای نصب پلاگین گزارش‌دهی، می‌توانید از دستور زیر استفاده کنید:

pip install pytest-html

سپس می‌توانید با استفاده از دستور زیر، یک گزارش HTML از نتایج تست‌های خود تولید کنید:

pytest --html=report.html

ادامه دارد...

در بخش دوم این آموزش، به مباحث پیشرفته‌تری همچون پارامتری کردن تست‌ها، تست‌های مقیاس‌پذیر، و دیگر قابلیت‌های قدرتمند PyTest خواهیم پرداخت.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#پایتون #PyTest #آموزش_پایتون #برنامه‌نویسی #تست_نرم‌افزار #python
آموزش PyTest در پایتون – بخش دوم

در بخش اول این آموزش، با نصب و نوشتن تست‌های ساده با PyTest آشنا شدیم. در این بخش به مباحث پیشرفته‌تر PyTest می‌پردازیم.

پارامتری کردن تست‌ها
با استفاده از pytest.mark.parametrize می‌توانید تست‌های خود را برای مجموعه‌ای از داده‌ها اجرا کنید:

# فایل test_parametrize.py

import pytest

@pytest.mark.parametrize("input,expected", [
(1 + 1, 2),
(2 + 2, 4),
(3 + 3, 6),
])
def test_addition(input, expected):
assert input == expected

در این مثال، تابع تست test_addition برای هر جفت داده ورودی و خروجی اجرا می‌شود.

اجرای تست‌های مقیاس‌پذیر
PyTest قابلیت اجرای تست‌های مقیاس‌پذیر و تست‌های مختلف به صورت همزمان را دارد. برای این کار می‌توانید از پلاگین pytest-xdist استفاده کنید:

pip install pytest-xdist

سپس می‌توانید تست‌های خود را به صورت موازی اجرا کنید:

pytest -n 4

این دستور تست‌ها را در چهار پردازش موازی اجرا می‌کند، که باعث افزایش سرعت اجرای تست‌ها می‌شود.

استفاده از Mock در PyTest
برای شبیه‌سازی رفتارهای مختلف در تست‌ها، می‌توانید از کتابخانه unittest.mock استفاده کنید. به مثال زیر توجه کنید:

# فایل test_mock.py

from unittest.mock import MagicMock

def test_mocking():
mock = MagicMock(return_value=10)
assert mock() == 10

در این مثال، یک شیء MagicMock ایجاد کرده‌ایم که مقدار 10 را برمی‌گرداند. این شیء می‌تواند برای شبیه‌سازی توابع و متدها در تست‌ها استفاده شود.

تنظیمات و پیکربندی PyTest
PyTest به شما اجازه می‌دهد تنظیمات و پیکربندی‌های مختلفی را اعمال کنید. با ایجاد یک فایل pytest.ini می‌توانید تنظیمات دلخواه خود را اعمال کنید:

# فایل pytest.ini

[pytest]
markers =
slow: mark a test as slow
addopts = --maxfail=2

در این مثال، یک تنظیم برای علامت‌گذاری تست‌های کند و همچنین محدود کردن تعداد شکست‌ها به دو تست اعمال کرده‌ایم.

با این آموزش جامع، شما اکنون با مفاهیم و قابلیت‌های اصلی PyTest آشنا شده‌اید و می‌توانید تست‌های قدرتمندی برای پروژه‌های پایتون خود بنویسید.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#پایتون #PyTest #آموزش_پایتون #برنامه‌نویسی #تست_نرم‌افزار #