在各种Django应用中浏览tests
目录时,我偶然发现了models.py
和settings.py
个文件(例如django-tagging
)。
但是没有找到同步测试模型或应用自定义测试设置的代码 - 但测试会使用它们,就好像django会自动神奇地加载它们一样。但是,如果我尝试运行django-tagging
的测试:manage.py test tagging
,它甚至不会进行单个测试。
这正是我现在需要测试我的应用程序,但实际上并不知道如何。
那么,它是如何运作的?
答案 0 :(得分:1)
如果您想在django-tagging
中运行测试,可以尝试:
django-admin.py test --settings = tagging.tests.settings
基本上,它使用位于tests.py
包/目录中的tests
文件中的doctests。测试使用同一目录中的设置文件(并在命令行中指定为django-admin)。有关更多信息,请参阅writing doctests上的django文档。
答案 1 :(得分:0)
你的意思是,“我如何在Django中编写单元测试?”查看documentation on testing。
当我完成它时,我在一个测试/子目录中编写了单元测试。确保该目录有一个空的__init__.py文件。您可能还需要models.py文件。添加从unittest.TestCase派生的单元测试(在模块unittest中)。将模块“xxxx.test”添加到settings.py中的INSTALLED_APPS(其中“xxxx”是应用程序的基本名称)。
以下是我的一些示例代码,可以帮助您入门:
#!/usr/bin/env python
# http://docs.djangoproject.com/en/dev/topics/testing/
from sys import stderr
import unittest
from django.test.client import Client
from expenses.etl.loader import load_all, load_init
class TestCase(unittest.TestCase):
def setUp(self):
print "setUp"
def testLoading(self):
print "Calling load_init()"
load_init()
print "Calling load_all()"
load_all()
print "Done"
if __name__ == '__main__':
unittest.main()
如果您的意思是“如何将数据加载到我的单元测试中?”,然后使用相同文档页面中描述的灯具。