2011-06-27 25 views
22

Tôi đang cố gắng tìm ra cách tốt nhất để thử nghiệm admin.ModelAdmin trong admin.py. Cụ thể, tôi ghi đè hàm save_model() mà tôi muốn kiểm tra. Từ nghiên cứu tôi đã làm, giải pháp duy nhất tôi đã tìm thấy là viết một yêu cầu/đáp ứng kiểm tra sau đó truy vấn cơ sở dữ liệu.testing admin.ModelAdmin in django

Trả lời

2

Bạn có thể chỉ định ModelForm tùy chỉnh cho modeladmin sau đó chỉ cần kiểm tra ModelForm này;)

https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.form

hình thức

class SomeModelForm(forms.ModelForm): 
    class Meta: 
     model = SomeModel 

quảng cáo phút

class SomeModelAdmin(admin.ModelAdmin): 
    form = SomeModelForm 


admin.site.register(SomeModel, SomeModelAdmin) 

kiểm tra

class TestSomeModel(TestCase): 
    def test_form(self): 
     form = SomeModelForm(**kwargs) 
     self.assertTrue(form.is_valid()) 
     # ... 
+3

Hãy ghi nhớ rằng điều này không đáng tin cậy kiểm tra ** tiết kiệm ** đối tượng. – jnns