gpt4 book ai didi

django - 在settings.py中的mongoengine connect()测试问题

转载 作者:行者123 更新时间:2023-12-04 05:09:32 25 4
gpt4 key购买 nike

我希望能够基于是否以测试模式启动django来进行条件connect()。

在我的settings.py中,我使用mongoengine connect()方法连接到数据库,但问题是,如果我运行manage.py test,我不想这样做。

有什么办法可以检查是否从测试中导入了settings.py,可能有一些标记。

就像是
如果不是IN_TESTS:
连接()

最佳答案

我正在通过自定义测试运行程序解决此问题。这是我基于以下解决方案的示例:https://github.com/xintron/django-mongorunner/blob/master/mongorunner/testrunner.py

这具有为每个单元测试提供新数据库的优点。

class MyTestRunner(DjangoTestSuiteRunner):

mongodb_name = 'testsuite'

def setup_databases(self, **kwargs):
from mongoengine.connection import connect, disconnect
disconnect()
connect(self.mongodb_name)
print 'Creating mongo test-database ' + self.mongodb_name
return super(MyTestRunner, self).setup_databases(**kwargs)

def teardown_databases(self, old_config, **kwargs):
from mongoengine.connection import get_connection, disconnect
connection = get_connection()
connection.drop_database(self.mongodb_name)
print 'Dropping mongo test-database: ' + self.mongodb_name
disconnect()
super(MyTestRunner, self).teardown_databases(old_config, **kwargs)

关于django - 在settings.py中的mongoengine connect()测试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4774800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com