以下是model.py中的类
class UnitUsers(models.Model):
unit = models.ForeignKey(Unit, on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
create = models.BooleanField(default=False)
mark = models.BooleanField(default=False)
submit = models.BooleanField(default=True)
def __str__(self):
return str(self.unit) + " - " + str(self.user)
class Meta:
verbose_name = _('Unit User')
verbose_name_plural = _('Unit Users')
试图如下编写verbose_name测试用例
class UnitUsersTest(TestCase):
@classmethod
def setUpTestData(cls):
unit = Unit.objects.create(name='Python',
start='2018-10-25 14:30:59',
end='2017-10-25 14:30:59',
description='111', deleted='False')
user = get_user_model().objects.create_superuser(username='admin',
email='admin@decent.mark',
password='password')
UnitUsers.objects.create(unit=unit, user=user, create='False',
mark='False', submit='True')
def test_verbose_name(self):
unit_user = UnitUsers.objects.get(id=1)
field_label = unit_user._meta.get_field('user').verbose_name
self.assertEquals(field_label, 'Unit User')
获取错误
回溯(最近通话最近): 文件“ C:\ Users \ Prabhanjan \ Documents \ GitHub \ decentmark \ decentmark \ tests \ test_model.py”,第54行,位于test_verbose_name中 self.assertEquals(field_label,'单位用户') AssertionError:'用户'!='单位用户' -用户 +单位用户
在0.505秒内进行了11次测试
失败(失败= 1)
答案 0 :(得分:0)
尝试将元类更改为
class Meta:
verbose_name = "Unit User"
verbose_name_plural = "Unit Users"
然后您的测试应该是什么样子
def test_verbose_name_plural(self):
#unituser is the Class UnitUsers(model.Models)
unitusers = UnitUsers.objects.get(id=1)
verbose_name_plural = unitusers._meta.verbose_name_plural
self.assertEquals(verbose_name_plural, "Unit Users"