您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

views.py中的Django doctests

views.py中的Django doctests

您可以通过在tests.py中添加/编辑suite()函数来执行此操作,该函数定义了django测试运行程序将运行哪些测试。

import unittest
import doctest
from project import views

def suite():
    suite = unittest.TestSuite()
    suite.addTest(doctest.DocTestSuite(views))
    return suite

然后像往常一样运行测试,您应该在views.py run中看到您的doctest。

$ python manage.py test project

django测试文档中对此有更详细的描述

在运行测试时,测试实用程序的认行为是在models.py和tests.py中找到所有测试用例(即unittest.TestCase的子类),并根据这些测试用例自动构建测试套件,并运行该套件。

还有另一种为模块定义测试套件的方法:如果在models.py或tests.py中定义了一个名为suite()的函数,则Django测试运行器将使用该函数为该模块构造测试套件。这遵循建议的单元测试组织。有关如何构造复杂的测试套件的更多详细信息,请参见Python文档。

但是,请记住,构建自己的测试套件意味着django测试运行程序不会自动运行tests.py中包含的任何测试。例如,您必须手动将它们添加到套件中

import unittest
import doctest
from project import views

class FooTestCase(unittest.TestCase):
    def testFoo(self):
        self.assertEquals('foo', 'bar')

def suite():
    suite = unittest.TestSuite()
    suite.addTest(doctest.DocTestSuite(views))
    suite.addTest(unittest.TestLoader().loadTestsFromTestCase(FooTestCase))
    return suite
Go 2022/1/1 18:48:18 有274人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶