بهبود وضعیت فایل های تست

سلام

در حال حاضر تمام کدهای مربوط به تست برنامه را درون فایل قرار accounts/tests.py می دهیم. یک فایل طولانی و بلند…

در این قست می خواهیم برنامۀ تست را به چند فایل متفاوت تقسیم‌بندی کنیم.

برای اینکار یک فولدر با نام tests داخل فولدر accounts ایجاد می کنیم. درون این فولدر یک فایل خالی با نام init__.py__ می‌سازیم.

حالا فایل تست قبلی را درون فولدر جدید منتقل داده و نام آن را به test_view_signup.py تغییر می دهیم.

نمای فولدر پروژه به این شکل می شود.

myproject/
 |-- myproject/
 |    |-- accounts/
 |    |    |-- migrations/
 |    |    |-- tests/
 |    |    |    |-- __init__.py
 |    |    |    +-- test_view_signup.py
 |    |    |-- __init__.py
 |    |    |-- admin.py
 |    |    |-- apps.py
 |    |    |-- models.py
 |    |    +-- views.py
 |    |-- boards/
 |    |-- myproject/
 |    |-- static/
 |    |-- templates/
 |    |-- db.sqlite3
 |    +-- manage.py
 +-- venv/

با توجه به اینکه آدرس‌دهی فایل‌های دیگر درون فایل تست به صورت نسبی است باید آن را درست کنیم.

accounts/tests/test_view_signup.py

from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.urls import resolve
from django.test import TestCase

from ..views import signup
from ..forms import SignUpForm

حالا می خواهیم یک فایل تست جدید برای SignUpForm بسازیم. به این منظور فایل py را ایجاد می کنیم.

accounts/tests/test_form_signup.py

from django.test import TestCase
from ..forms import SignUpForm

class SignUpFormTest(TestCase):
    def test_form_has_fields(self):
        form = SignUpForm()
        expected = ['username', 'email', 'password1', 'password2',]
        actual = list(form.fields)
        self.assertSequenceEqual(expected, actual)

اگر بعدا بخواهیم به SignUpForm فیلدهایی مثل نام و نام خانوادگی کاربر را اضافه کنیم؛ نوشتن تست راحت تر خواهد بود.

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی: بهبود قالب ثبت نام

مطلب قبلی: اضافه کردن فیلد ایمیل به فرم ثبت نام

بدون دیدگاه

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

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

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.