0
我想测试一个特定的模型,而不必担心它具有外键(FK)的其他模型。使用外键测试django模型到另一个模型
说我的模型套件需要一个外键,我的其他型号会议: models.py
:
class Bundle(ModelCommon):
session = models.ForeignKey(verbose_name=_('Session'), to=Session, default=None, null=False, blank=False)
available = models.BooleanField(verbose_name=_('Available'), default=True, null=False, blank=False)
当我尝试测试我的包类与模拟(因为我不需要去关心是什么字段值是在Session对象)上test_models.py
:
def setUp(self):
MockSession = mock.create_autospec(Session)
self.test_session = MockSession()
self.bundle = Bundle(session=self.test_session, name='Mega Bundle', enabled=True, available=True, price=0)
def test_event_enabled_is_default_false(self):
session = Session()
self.assertFalse(session.enabled)
我不断收到这样的信息:
Error
Traceback (most recent call last):
File "test_models.py", line 181, in setUp
self.bundle = Bundle(session=self.test_session, name='Mega Bundle', enabled=True, available=True, price=0)
raise AttributeError("Mock object has no attribute %r" % name)
AttributeError: Mock object has no attribute '_state'
下面是问题:在这种情况下使用测试Double的绝对正确方法是什么?因为到目前为止我还没有成功地使用一个。
谢谢你的回答。我解决了我的问题 – joaofguerreiro