我有一个使用Postgresql模式的Django多租户应用程序。我尝试在一个名为"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