重新启动检测到错误的进程

时间:2017-03-07 22:56:09

标签: python django django-testing

在Django项目中,可以创建单元测试来验证我们到目前为止所做的工作。原理很简单。我们必须在shell中执行命令python3 manage.py test。当在程序中检测到错误时,shell将显示它并停止该过程。但是,程序有一点差距。如果我们有几个错误,我们必须纠正它并重新启动整个过程。这个过程可能需要几分钟,这取决于我们的计划。有没有办法重新启动检测到错误的过程而不是重新启动整个过程?

编辑:

实际上,我遇到的另一个问题是保留数据库而不是重新创建它。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果您只想自动运行失败的测试,则需要使用Nose等第三方测试驱动程序或创建自己的驱动程序。但这不值得,因为......

  

您可以通过提供任意数量来指定要运行的特定测试   “测试标签”到./manage.py测试。每个测试标签都可以是完整的   Python点缀了包,模块,TestCase子类或测试的路径   方法。例如:

# Run just one test method
$ ./manage.py test animals.tests.AnimalTestCase.test_animals_can_speak

来源:https://docs.djangoproject.com/en/1.10/topics/testing/overview/

此方法可用于仅重新运行失败的方法。

请注意,第三方测试运行程序可能会在每次运行测试时重新创建数据库 - 即使只是失败的测试。另一方面,django默认测试运行器具有--keep选项,允许重用数据库。有关详细信息,请参阅:https://stackoverflow.com/a/37100979/267540