在 Django 项目中,单元测试通常按应用程序组织,Django 提供运行所有测试、单个应用程序的测试、单个测试用例或单个测试方法的工具。
然而,我发现单个应用程序中的测试用例通常属于单独的逻辑组或集群,并且仅能够运行一组测试通常会很有用。想象一下,例如:
- 我有几个测试用例,涵盖单个模型的不同配置,并且我想在开发模型时运行所有这些测试用例(并且只是它们)。 (这特别麻烦,因为最便宜的方法是将测试用例集中在一起,所以现在您有一个可以轻松运行的测试用例,但阅读和维护却是一场噩梦)。
- 我有一系列实用程序类,它们的测试速度非常快,因为它们不访问数据库。我不需要在重构时运行模型测试和查看测试。
我四处搜寻。但是,虽然将测试拆分为多个文件相对简单(例如,请参见these https://stackoverflow.com/questions/5160688/organizing-django-unit-tests two https://stackoverflow.com/questions/6248510/how-to-spread-django-unit-tests-over-multiple-files问题),似乎没有一种直接的方法来单独运行测试组。
那么,我错过了什么吗?小组测试的秘诀是什么?
值得一看的是 python 的鼻子测试框架,它是解决这个问题的一种方法。
具体来说,您可以标记测试或为其设置属性。然后仅运行标有给定标签的测试子集(跨应用程序或整个项目)。
https://nose.readthedocs.org/en/latest/plugins/attrib.html?highlight=tags https://nose.readthedocs.org/en/latest/plugins/attrib.html?highlight=tags
请注意,nose 扩展了unittest,因此您现有的djangounittest 套件可能已经与nose runner 一起运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)