Ok, vì vậy tôi cần đơn vị kiểm tra chế độ xem, biểu mẫu chính xác hơn trong chế độ xem. Vì vậy, tôi tạo ra một bài kiểm tra đơn vị như vậy.Làm thế nào để bạn thử nghiệm các đơn vị trong Django?
class ViewTest(TestCase):
fixtures = ['fixture.json']
def setUp(self):
self.client = Client()
def test_company_create(self):
post_data = {
'form-0-user': '',
'form-0-share': '',
'form-TOTAL_FORMS': 1,
'form-INITIAL_FORMS': 0,
'form-MAX_NUM_FORMS': 10
}
resp = self.client.post('/company/create/', post_data)
self.assertFormError (resp, 'shareholder_formset', 'share', 'This field is required.')
self.assertFormError (resp, 'shareholder_formset', 'user', 'This field is required.')
Ofcourse tôi nhận lại một lỗi
AttributeError: 'ShareholderFormFormSet' object has no attribute 'fields'
Vì formset có hình thức trong đó, chứ không phải lĩnh vực ..... Vì vậy, cách chính xác để thử nghiệm một formset là gì?
Hãy xem câu hỏi tương tự: http://stackoverflow.com/questions/1630754/django-formset-unit-test. – alecxe
@alecxe Câu hỏi đó tương tự chỉ theo nghĩa là nó cũng là về các formets và kiểm tra đơn vị ... @Viktor Thế còn thử nghiệm 'ShareholderForm' thì sao? Có vẻ như đó là những gì bạn đang cố gắng làm với sự khẳng định của bạn ... – Ngenator
Cả hai bạn đều đang kiểm tra Chế độ xem và Biểu mẫu trong thử nghiệm "đơn vị" này. Không cần phải thực hiện POST để kiểm tra biểu mẫu. Xem phần "Biểu mẫu thử nghiệm" trong [Hướng dẫn kiểm tra ở Django # 2] (http://toastdriven.com/blog/2011/apr/17/guide-to-testing-in-django-2/) – gertvdijk