PDA

View Full Version : unit help چیست ؟؟؟؟؟؟؟؟/



malihehshajari
چهارشنبه 24 اردیبهشت 1393, 16:42 عصر
سلام

میشه در مورد اینکه چطور میشه unit test نوشت توضیح بدین؟

با تشکر فراوان

n.nowroozi
پنج شنبه 25 اردیبهشت 1393, 08:18 صبح
سلام

یونیت تست به صورت کلی همون تست قسمت به قسمت برنامه ای هست که نوشتید. اگه یونیت تست جنگو منظورتونه اینجا (https://docs.djangoproject.com/en/1.6/intro/tutorial05/) با مثال توضیح داده که چجوری یونیت تست بنویسید. توی جنگو یه شبیه ساز کلاینت داره که ریکوئست میفرسته سمت ویو و بعدش شما باید کانتکست ها تون و ... رو بررسی کنید و ببینید اون مقداری که باید برگردونه رو برمیگردونه یا نه!

malihehshajari
دوشنبه 05 خرداد 1393, 13:20 عصر
سلام
من کد زیر رو نوشتم :


# -*- coding: utf-8 -*- #
import datetime
from django.utils import timezone
from django.test import TestCase
from start.setting_MODULE import *
from start.Dr.date_convert import *


class LabMethodTests(TestCase):

g = miladi_to_shamsi()


def test_insert_reseption(self):

reception = Reception(insurance_number = -1 , share_insurance = -1 , daro = "استامینوفن"
, time = datetime.now().time() , print_count = -1
, number_page = -1 , Prescription_date = g , Insurance_expiry_date = g
, answering_date = g , date_acceptance = g , dr_number = -1 , pardakht_insurance = -1
, id_reception = -1 , active = True , orjans = True , bardar = True , nashta = True , NoSample = True
, OutSample = True , hazineh_fani = -1 , hazineh_paziresh = -1 , mabe_tafavot = -1
, answering_status = False , share_sik = -1 , takhfif = -1 , Amount_Addition = -1
, Payable = -1 , remaining = -1
, send_from = -1 , LMP = g , remaining_insurance = -1 , amount_paid = -1
, date_time_save = g , user_name_save = "m" )

self.assertEqual(reception.was_published_recently( ), False)




اجرا کردم نتیجه شد به شکل زیر :


shajari@shajari-desktop:~/lab/start$ python manage.py test Dr
Creating test database for alias 'default'...
E
================================================== ====================
ERROR: test_insert_reseption (start.Dr.tests.LabMethodTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/shajari/lab/start/start/Dr/tests.py", line 24, in test_insert_reseption
, date_time_save = g , user_name_save = "m" )
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 403, in __init__
setattr(self, field.name, rel_obj)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 405, in __set__
self.field.name, self.field.rel.to._meta.object_name))
ValueError: Cannot assign "-1": "Reception.dr_number" must be a "Dr" instance.


----------------------------------------------------------------------
Ran 1 test in 0.029s


FAILED (errors=1)
Destroying test database for alias 'default'...




من باید ورودی ها غیر صحیح رو هم تست کنم ؟
یا فقط ورودی صحیح وارد کنم ؟

n.nowroozi
دوشنبه 05 خرداد 1393, 14:38 عصر
خب تستتون faild شده، ارورش رو هم نوشته چیه
بله مقدارهای غیر صحیح رو هم باید بدید تا ببینید همون رفتاری رو که باید انجام بده انجام میده یا نه!