【发布时间】:2020-02-19 22:59:12
【问题描述】:
我目前遇到了一个问题,我不知道如何模拟关系。
假设我有一些模型叫做
class MyModel(models.Model):
name = models.CharField(max_length=10)
class RelatedModel(models.Model):
my_model = models.OneToOneField(MyModel, on_delete=models.CASCADE, related_name='related_model')
name = models.CharField(max_length=10
我有一些像这样的存储库类:
class MyModelRepository:
@staticmethod
def get_related_model(my_model):
try:
return my_model.related_model
except MyModel.related_model.RelatedObjectDoesNotExist:
# do some other thing
在为此编写单元测试时,我如何模拟 related_model 以引发此异常或返回一些任意实例?
【问题讨论】:
-
我强烈建议您只制作一个没有 RelatedModel 的 MyModel,这会引发此错误
标签: python django mocking mockito pytest-django