2013-03-02 2 views
1

뷰를 테스트하는 단위 테스트가 있다고 가정합니다. 그 견해에는 어떤 처리를 할 수있는 양식이 필요합니다. 내 단위 테스트는 다음과 같습니다.Django 유닛 테스트에서 요청 객체에 양식 객체를 전달하는 방법은 무엇입니까?

class ViewTests(TestCase): 
def setUp(self): 
    self.factory = RequestFactory() 

def test_login_view_post(self): 
    # require form object to pass it in post function 
    response = self.client.post(reverse('login')) 
    self.assertContains(response, "Your username and password didn't match", status_code=200) 

게시 기능에서 양식 개체를 전달할 수있는 방법을 알려주시겠습니까?

감사합니다.

답변

2

당신은 실제로 게시물에 양식 객체를 통과하지 못한, 양식

post_data = { 
    "username": "foo", 
    "password": "bar" 
} 
response = self.client.post(reverse('login'), data=post_data) 

(당신이 시뮬레이션 무엇 인) 제출되는 것처럼 폼 데이터를 전달 또는 당신은 단순히를 포함 할 수 있습니다 다른 테스트에서 양식을 작성하고 유효성을 테스트하기 위해 데이터로 인스턴스화하십시오.

def test_form(self): 
    data = { 
     "username": "foo", 
     "password": "bar" 
    } 
    form = LoginForm(data) 
    self.assertFalse(form.is_valid()) 
관련 문제