我正在嘗試編寫單元測試,但我對django很陌生,不知道如何測試這個函數。據我所知,所有的東西都是在手動測試時工作,但建議爲它編寫一個單元測試。如何在Django中編寫單元測試
我有這樣的功能:
def time_encode(hours):
now = timezone.now().replace(second=0, microsecond=0)
remainder = now.minute % 15
delta = (15 - remainder)
timeFrom = now + timedelta(minutes=delta)
timeTo = timeFrom + timedelta(hours=hours)
return (timeFrom, timeTo)
被調用在這樣的觀點:
@csrf_exempt
def emulate_create(request):
args = json.loads(request.body, object_hook=utils._datetime_decoder)
resourceId, count, hours = args['resourceId'], args['count'], args['hours']
print resourceId
timeFrom, timeTo = utils.time_encode(hours)
print timeFrom
reservation = ReservationProspect(
byUser=request.user,
forUser=request.user,
resource=get_object_or_404(Resource, uuid=resourceId),
modality=get_object_or_404(Modality, name="online"),
timeFrom=timeFrom,
timeTo=timeTo,
count=count
)
return HttpResponse(
json.dumps(
[reservation.toDict()],
default=utils._datetime_encoder
)
)
我覺得我不應該測試的東西的看法,但我應該測試功能time_encode對於一些測試用例,因爲它的目的是在將來最近15分鐘的時間間隔內返回一個timeFrom,並將timeTo作爲距離timeFrom的「小時」參數。同樣重要的是,日期時間始終以秒和毫秒爲零返回。對於如何去測試這些代碼,你有什麼建議?
,你應該添加一個文檔字符串解釋功能的目的。 –