【发布时间】:2023-10-01 07:07:01
【问题描述】:
我在 django 中有带有 postgresql 模式的多租户应用程序。我试图在租户文件夹“t002”中编写测试代码:
from django.test import TestCase
from path.customers.models import Client
# TestClass to test tenant setup
class TestTenantSetup(TestCase):
def setUp(self):
Client.objects.create(
name='t002',
schema_name='t002',
domain_url='t002.cmpny.com'
)
def test_tenant_exists(self):
client = Client.objects.get(name='t002')
self.assertEquals(client.schema_name, "t002")
但是当我使用 python manage.py test path/t002/tests 运行测试时,它正在为我的实际数据库创建一个测试数据库。所以假设我会遵循这个 SO 答案 (django unit tests without a db) 并避免创建数据库,但我不确定我是否遵循正确的路径来测试多租户 django 项目。当我查看 django-tenant-schemas 文档 (https://django-tenant-schemas.readthedocs.io/en/latest/test.html) 时,我无法轻易掌握它。谁能告诉如何开始对 django 多租户应用程序进行测试?并且请检查上面的代码是否正确。
规格 - python==2.7、django==1.11、postgres==9.6
【问题讨论】:
-
能否为您的问题添加更多信息。看来您不希望创建测试数据库。你想要什么?让测试使用真实的数据库并在那里创建新行?
-
是的那部分,我已经检查了一个 SO 答案,但基本上如何为 django 多租户应用程序启动单元测试是我的问题。以上 sn-p 是我尝试测试租户设置的方法,这是正确的方法吗?或者我是否应该关注其他人?我主要要求多租户@gelonida
标签: python django unit-testing multi-tenant