【发布时间】:2022-01-17 11:35:43
【问题描述】:
我是 Django 和单元测试的新手,所以任何反馈都非常有帮助。
每当在我们的系统中创建帐户时,我都会与第三方进行小型集成,以便在他们的系统中创建匹配帐户。我对模型类中的信号执行此操作。信号很简单,如下所示:
@receiver(post_save, sender=Company)
def create_integration_company(sender, instance, created, **kwargs):
if created:
company_integration_id = third_party.create_crm_company(instance)
instance.integration_id = company_integration_id
instance.save()
当我运行我们的测试时,它在这个第三方的系统中创建了数千个帐户,所以我发现了mock。
我们有一堆创建公司的测试,我想知道是否必须将其添加到每个测试中? @mock.patch("apps.accounts.utils.build_request", return_value="123")
我的问题是:我应该在哪个级别模拟响应并返回 123 以获得新的集成 ID?我可以在模型级别做吗?还是我必须为我们拥有的每个测试用例都这样做?
【问题讨论】:
标签: python django unit-testing mocking