Skip to main content
 首页 » 编程设计

python之我应该如何在 Django 中为我的表单编写测试

2024年08月21日35rubylouvre

有谁知道我应该如何为这个表单编写单元测试:

class CartAddProductForm(forms.Form): 
    quantity = forms.TypedChoiceField( 
                            choices=PRODUCT_QUANTITY_CHOICES, 
                            coerce=int) 
    update = forms.BooleanField(required=False, 
                            initial=False, 
                            widget=forms.HiddenInput) 

请您参考如下方法:

from django.test import TestCase 
from myapp.forms import CartAddProductForm 
 
class MyTests(TestCase): 
 
    def test_form(self): 
        form_data = {'quantity':100, 'update':True} 
        form = CartAddProductForm(data=form_data) 
        self.AssertTrue(form.is_valid()) 
 
    def test_form_without_update(self): 
        form_data = {'quantity':100} 
        form = CartAddProductForm(data=form_data) 
        self.AssertTrue(form.is_valid()) 
 
    def test_form_is_invalid(self): 
        form_data = {'quantity':'foo', 'update':'bar'} 
        form = CartAddProductForm(data=form_data) 
        self.AssertFalse(form.is_valid()) 

测试方法有很多,你可以在一个表格中测试,这取决于你要测试的描述性测试。

我发现这篇关于测试用例的好文章:http://test-driven-django-development.readthedocs.io/en/latest/05-forms.html