반응형
장고에서 양식에 대한 테스트를 어떻게 작성해야 합니까?
시험을 작성할 때 장고에서 제 견해에 대한 요청을 시뮬레이션하고 싶습니다.이는 주로 양식을 테스트하기 위한 것입니다.다음은 간단한 테스트 요청의 일부입니다.
from django.tests import TestCase
class MyTests(TestCase):
def test_forms(self):
response = self.client.post("/my/form/", {'something':'something'})
self.assertEqual(response.status_code, 200) # we get our page back with an error
페이지는 양식 오류가 있는지 여부에 관계없이 항상 200의 응답을 반환합니다.양식이 실패했는지 특정 필드를 확인하려면 어떻게 해야 합니까?soemthing
)에 오류가 있습니까?
양식을 테스트하려면 양식이 렌더링되는 보기가 아니라 양식을 테스트해야 합니다.아이디어를 얻기 위한 예:
from django.test import TestCase
from myapp.forms import MyForm
class MyTests(TestCase):
def test_forms(self):
form_data = {'something': 'something'}
form = MyForm(data=form_data)
self.assertTrue(form.is_valid())
... # other tests relating forms, for example checking the form data
from django.tests import TestCase
class MyTests(TestCase):
def test_forms(self):
response = self.client.post("/my/form/", {'something':'something'})
self.assertFormError(response, 'form', 'something', 'This field is required.')
여기서 "form"은 양식의 컨텍스트 변수 이름이고, "something"은 필드 이름이며, "This field is required"는 예상되는 유효성 검사 오류의 정확한 텍스트입니다.
원래 2011년 답변은 다음과 같습니다.
self.assertContains(response, "Invalid message here", 1, 200)
그러나 지금(2018)에는 해당 주장이 많이 있습니다.
- 메시지를 표시합니다.
- assertFieldOutput
- 아사트 양식 오류
- assertFormsetError
골라보세요.
언급URL : https://stackoverflow.com/questions/7304248/how-should-i-write-tests-for-forms-in-django
반응형
'programing' 카테고리의 다른 글
sqlalchemy back_pumulates는 언제 사용해야 합니까? (0) | 2023.08.05 |
---|---|
전체 폴더 및 내용을 삭제하는 방법은 무엇입니까? (0) | 2023.07.31 |
이름에 점(.)이 있는 PowerShell 환경 변수 (0) | 2023.07.31 |
CheckBox 색상을 변경하는 방법은 무엇입니까? (0) | 2023.07.31 |
다중 사용자 ASP의 정적 변수 범위.NET 웹 애플리케이션 (0) | 2023.07.31 |