بهبود وضعیت فایل های تست
سلام
در حال حاضر تمام کدهای مربوط به تست برنامه را درون فایل قرار 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 فیلدهایی مثل نام و نام خانوادگی کاربر را اضافه کنیم؛ نوشتن تست راحت تر خواهد بود.
ترجمۀ اختصاصی توسط تمدن
مطلب بعدی: بهبود قالب ثبت نام
مطلب قبلی: اضافه کردن فیلد ایمیل به فرم ثبت نام
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگو شرکت کنید؟نظری بدهید!