如何在django中构建测试,功能与单元相比?

时间:2014-05-26 18:26:41

标签: python django unit-testing

似乎

python manage.py test

myapp/tests.py

中运行所有测试

但是我想要将其分解为myapp/functional_tests.pymyapp/unittests.pymyapp/ajaxtests.py建议的方法是什么?我的功能测试不会有任何覆盖感,而我的单元测试肯定要报告覆盖率,我的" ajax"测试只是两者之间的一个例子。

我想要它,所以我可以运行一个命令来运行所有测试(用于持续集成),同时能够在开发时选择测试。

1 个答案:

答案 0 :(得分:1)

您可以使用python manage.py test monkey.test运行单独的测试,它将运行monkey.test模块中的所有测试。请阅读here。或者使用我最喜欢的测试运行器py.test,它将帮助您将测试分成文件夹并使其非常容易运行!

现在你可能想要一些花哨的命令而不是一直做上面的事情,那么你可以使用任务自动机作为fabric

执行正常pip install fabric后,在根文件夹中设置fabfile.py。 在此内部,您可以定义要运行的任务。

这个的粗略版本看起来像这样

from fabric.api import local

def run_tests(env):
    local('python manage.py test {0}_test.py'.format(env))

然后从命令行运行它

$ > fab run_tests:integration

使用此工具,您还可以开始自动完成任务,也可以开始使用Fabric为您进行部署,并且它与CI服务器的集成非常好。