2011-06-27 10 views
22

admin.ModelAdminadmin.pyにテストするための最良の方法を見つけようとしています。具体的には、私がテストしたい関数save_model()をオーバーライドします。私が行った研究から、私が見つけた唯一の解決策は、リクエスト/レスポンス・テストを作成してデータベースに問い合せることでした。djangoのadmin.ModelAdminをテストします

答えて

1

私はここに小さな小さなヘルパーを書いたので、私は同様の問題を抱えて:あなたは、単にこののModelFormをテストし、その後ModelAdminのためのカスタムのModelFormを指定することができますhttps://github.com/metzlar/djest

2

を、

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

フォーム

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

ad分

class SomeModelAdmin(admin.ModelAdmin): 
    form = SomeModelForm 


admin.site.register(SomeModel, SomeModelAdmin) 

テスト

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

が、これは確実に**オブジェクトを保存**テストしていないことに注意してください。 – jnns

関連する問題