我正在使用django的unittest
框架包装器为django编写一些模式测试。
我想检查一个字段是DateTimeField
,而不是DateField
。所以我尝试了以下方法:
class TestSuite(TestCase):
def test_for_correct_datetype(self):
self.assertTrue(isinstance(Obj.time, models.DateTimeField))
因为之前:
class Obj(models.Model):
....
time = models.DateTimeField()
注意:有几个答案据说使用getattr
,但它对我来说也不起作用。
如何让self.assertTrue()
工作?
答案 0 :(得分:1)
您可以使用Model _meta API中的get_field
方法:
from django.db import models
class TestSuite(TestCase):
def test_for_correct_datetype(self):
self.assertTrue(isinstance(Obj._meta.get_field('time'), models.DateTimeField))