我们知道如何为django测试用例和开发服务器使用不同的数据库。如果没有,请咨询this。
现在我的问题是? 如果我有一些可以在sqlite中运行的测试用例但是其他需要postgres sql的其他测试用例(特殊),该怎么办? 我想为那些必须在postgres上测试的特殊测试用例指定它。
现在问题是为什么我在postgres中测试所有这些? 在postgres中测试比sqlite3 慢,我猜有经验的程序员知道这一点。
那么有没有办法在单元测试中使用不同的数据库?
我找到了名为Django模板测试数据库(django-ttdb)的this包,但我猜它支持Django 1.7。
提前致谢。
答案 0 :(得分:0)
最简单的方法可能是将测试分为两种不同的类型:
对于postgres特定测试,您可以将它们隔离在自己的目录中(我喜欢使用顶级目录)
apply(df, 1, anyNA)
接下来,数据库连接设置应作为环境变量或通过单独的设置文件公开给环境。然后会有两个单独的命令来运行每种不同类型的测试:
tests/
integration/
postgres/
运行所有django app测试
和python manage.py test
运行postgres集成测试。当然,这只是解决问题的众多方法之一。