python - 如何在 django 中构建功能测试、单元测试和其他测试?

标签 python django unit-testing

看来是这样

python manage.py test

运行myapp/tests.py中的所有测试

但假设我想将它们分解为 myapp/function_tests.pymyapp/unittests.pymyapp/ajaxtests.py推荐的方法是什么?我的功能测试不会有任何覆盖范围,而我的单元测试肯定想要报告覆盖范围,我的“ajax”测试只是介于两者之间的一个示例。

我希望这样我就可以运行一个命令来运行所有测试(用于持续集成),同时能够在开发时挑选测试。

最佳答案

您可以使用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 服务器集成得非常好。

关于python - 如何在 django 中构建功能测试、单元测试和其他测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23875857/

相关文章:

django select_related - 何时使用它

python - 为什么 Pandas 绘制索引值 (x_ticklabels) 不正确?

python - 如何终止从 Python GUI 调用的 PowerShell 脚本?

python - 在 Python 中定义函数乘法?

python - 我们如何在本地计算机上使用 Python 开发基于 google Earthengine 的应用程序?

python - Django 查询 : How to use sql "union" and "not in" function

c# - 包含逻辑的静态工厂方法的单元测试

python - 我应该实例化多个测试使用的假设策略吗?

php - 创建 PHPUnit 模拟模型使用默认数据库而不是 CakePHP 中的测试

python - 递归和打破(或忽略)循环