我有一个应用程序正在运行连接到Microsoft SQL Server后端的Django2。
我们处在一个非常严格控制的大环境中——一个用户帐户可以访问为我的django应用程序存储所有表的数据库。
因此,我通过各种帖子发现,我需要创建一个
testrunner
对于我的申请-没关系。我可以覆盖
setup_databases
功能-但我不确定
确切地
如何做到这一点。
我的
TestRunner(DiscoverRunner)
如下所示:
class ExistingDbTestRunner(DiscoverRunner):
""" A test runner to test without database creation """
def setup_databases(self, **kwargs):
""" Override the database creation defined in parent class """
# force Django to connect to the correct db for tests
connection = self.connections['default']
db_conf = connection.settings_dict
connection.connect()
def teardown_databases(self, old_config, **kwargs):
""" Override the database teardown defined in parent class """
pass
但这失败了
AttributeError: 'ExistingDbTestRunner' object has no attribute 'connections'
我只是想让它使用我在设置中为测试目的设置的“默认”数据库。
值得注意的是,设置中指定的默认数据库是具有不同名称的生产数据库的副本。
所以我只想让我的测试运行在这个重复的数据库上。我应该改变什么使它连接起来?