2012-05-15 5 views
0

단위 테스트를 생성하는 공식 문서를 읽었지만 너무 복잡합니다. AdminPasswordChangeForm에 대한 단위 테스트 케이스를 생성하고 views.py에 두 개의 정의 된 함수 인 is_staffis_active의 상태를 변경해야합니다.Django에서 단위 테스트를 생성하는 방법

또한 사용자를 등록하기위한 간단한 테스트 사례를 작성했습니다. 팔로우는 테스트를 작성하는 방법에 대한 자습서 많이 있습니다

def user_change_password(request, id): 
    user = User.objects.get(pk=id) 
    form = AdminPasswordChangeForm(user, request.POST) 
    if form.is_valid(): 
     new_user = form.save() 
     msg = _('Password changed successfully.') 
     request.user.message_set.create(message=msg) 
     return HttpResponseRedirect('../../user/users') 
    else: 
     form = AdminPasswordChangeForm(user) 
    extra_context = {    
     'form': form, 
     'change': True 
     } 
    return direct_to_template(request,"users/user_password_change.html", 
       extra_context = extra_context) 
+3

무엇이 당신의 질문입니까? –

+0

위의 질문에 위의 view.py, 즉 user_change 비밀번호에 정의 된 메소드에 대한 단위 테스트 케이스를 작성하고 싶습니다. –

답변

1

(AdminPasswordChangeForm를 사용하여 암호를 업데이트하는) views.py에 정의 된 방법이다. Django Documentation (항상)은 테스트와 관련하여 프레임 워크가 제공하는 것을 설명하는 훌륭한 작업을합니다. https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs 또한 테스트 할 항목을 다루는 많은 기사/슬라이드 쇼가 있습니다. http://toastdriven.com/blog/2011/apr/10/guide-to-testing-in-django/

은 지금까지보기를 테스트하는 방법으로 당신은 당신이 (가) 요청 객체를 생성하고 직접 함수를 호출 요청 공장에 내장 사용할 수있는 옵션

의 몇 가지있다. 적절한 경우 리디렉션이 반환되는지 또는 템플릿이나 기대하는 바를 반환 할 수 있습니다.

또는 urls.py 파일에서 url을 요청할 수 있습니다.

사용자 개체와 POST 사전을 사용하여 AdminPasswordChangeForm을 테스트하는 것을 의미합니다. 올바른 양식을 만들고 있는지 확인하십시오. 너무 많이 사용자 정의하지 않은 경우 django가 코드 테스트의 훌륭한 작업을 수행하므로 테스트를 건너 뛸 수 있습니다.

관련 문제