在djangtagging中,单元测试是如何工作的,因为我希望我的测试能这样运行?

2024-05-16 20:53:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在各种Django应用程序中浏览testsdir时,偶然发现了models.py和{}文件(例如django-tagging中)。在

但是没有代码可以同步测试模型或应用自定义测试设置,但是测试使用它们就像django会自动神奇地加载它们一样。但是,如果我尝试运行django-tagging的测试:manage.py test tagging,它甚至不会执行任何一个测试。在

这正是我现在需要测试我的应用程序,但不知道如何测试。在

那么,它是如何工作的呢?在


Tags: 文件django代码py模型test应用程序manage
2条回答

如果要在django-tagging中运行测试,可以尝试:

django-admin.py test settings=tagging.tests.settings

基本上,它使用的doctest位于tests包/目录内的tests.py文件中。测试使用同一目录中的设置文件(并在命令行中指定给django admin)。有关详细信息,请参阅writing doctests上的django文档。在

你的意思是,“我如何用Django编写单元测试?”检查documentation on testing。在

完成后,我在test/子目录中编写单元测试。请确保目录中有一个空的优init_uy.py文件。您可能还需要模型.py文件。添加派生自unittest.TestCase(在模块单元测试中)。添加模块'xxxx.测试'到中已安装的应用程序设置.py(其中“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()

如果你的意思是“如何将数据加载到单元测试中?”,然后使用同一文档页中描述的fixture。在

相关问题 更多 >