如何在 Django 管理员中为 function 编写 unittest?


class SystemUserAdmin(UserAdmin):
list_display = ('get_phone',)
​
def get_phone(self, obj):
address = obj.cause.address
return address.phone if address else '-'
get_phone.short_description = 'Phone'
additional_admin_site.register(User, SystemUserAdmin)

如何测试功能get_phone

我是否需要获取User实例的实例SystemUserAdmin

from django.contrib.admin.sites import AdminSite
from django.test import TestCase
from core.admin import SystemUserAdmin
from core.models import User
from core.test.factories import UserFactory

class SystemUserAdminTestCase(TestCase):
def setUp(self) -> None:
self.user = UserFactory()
def test_get_phone(self) -> None:
user_admin = SystemUserAdmin(model=User, admin_site=AdminSite())
response = user_admin.get_phone(self.user)
#...

最新更新