假设我有一些python脚本在DB上进行维护,如果我使用unittest在这些脚本上运行测试,那么它们将与DB交互并对其进行破坏。因此,我试图找到一种使用原生Django测试套件的方法,它可以模拟DB而不必破坏真实的DB。从文档来看,您可以使用manage.py tests /path/to/someTests.py
运行测试脚本,但只能在Django > v1.6
(我在Django-Nonrel v1.5.5
)上运行测试脚本。在
我发现了How do I run a django TestCase manually / against other database,它说的是运行单个测试用例,它似乎过时了——它提到了{manage.py test myApp
启动套件(因为我并不是这样做的)。我试着用unittest.main()
启动测试。这样做有一个缺点。。。它彻底摧毁了数据库。感谢上帝的支持。
import unittest
import myModule
from django.test import TestCase
class venvTest(TestCase): # some test
def test_outside_venv(self):
self.failUnlessRaises(EnvironmentError, myModule.main)
if __name__ == '__main__':
unittest.main() # this fires off all tests, with nasty side effect of
# totally clobbering the DB
如何运行python someTest.py
并让它使用Django测试运行程序启动所有测试用例?
我甚至不能让这个工作起来:
^{pr2}$既然在评论中提到了这个问题,我在这里提出了一个类似但不同的问题:django testing external script。这个问题涉及使用manage.py test /someTestScript.py
。这个问题涉及到分别从manage.py
启动测试用例或测试套件。在
目前没有回答
相关问题 更多 >
编程相关推荐