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

مرحله ۱: نصب pytest و pytest-django

برای شروع، ابتدا باید کتابخانه‌های لازم را نصب کنید:

pip install pytest pytest-django

مرحله ۲: پیکربندی pytest

یک فایل به نام pytest.ini در دایرکتوری پروژه خود ایجاد کنید و تنظیمات زیر را در آن وارد کنید:

[pytest]
DJANGO_SETTINGS_MODULE = myproject.settings

(به جای myproject، نام پروژه خود را وارد کنید.)

آموزش جنگو رایگان

مرحله ۳: نوشتن تست‌ ها

تست‌ها باید در فایل‌هایی با نام test_*.py یا **_test.py قرار بگیرند. فرض کنید یک مدل به نام Book دارید. می‌توانید تست‌های خود را به شکل زیر بنویسید:

مثال: مدل Book

# models.py
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)

نوشتن تست‌ها

# tests/test_models.py
import pytest
from .models import Book

@pytest.mark.django_db
def test_create_book():
    book = Book.objects.create(title='Test Book', author='Author Name')
    assert book.title == 'Test Book'
    assert book.author == 'Author Name'

مرحله ۴: اجرای تست‌ ها

برای اجرای تست‌ها، می‌توانید دستور زیر را در ترمینال اجرا کنید:

pytest

این فرمان تمامی تست‌های موجود در پروژه جنگو را پیدا کرده و آن‌ها را اجرا می‌کند.

مرحله ۵: تجزیه و تحلیل نتایج

پس از اجرای تست‌ها، pytest گزارشی از وضعیت تست‌ها ارائه خواهد داد. اگر تستی شکست بخورد، جزییات خطاها در ترمینال نمایش داده می‌شود.

نتیجه‌ گیری

استفاده از pytest برای تست نویسی در جنگو فرآیند تست کردن را ساده‌تر و کارآمدتر می‌کند. با رعایت مراحل فوق، می‌توانید تست‌های موثری برای پروژه‌های خود بنویسید و به کیفیت کد خود اطمینان