首页 > 解决方案 > 如何在预提交挂钩中运行 django 测试

问题描述

我坚持如何在预提交挂钩中简单地运行我的 django 测试。我最终会将它们置于推动阶段,但我只是想让它们先运行。它试图循环我的测试,但测试对象是 NoneType 对象。在这个钩子之外工作正常。我相信这对某人来说是显而易见的。谢谢。

这是我的测试钩子。

repo: local
    hooks:
    -   id: tests
        name: run tests
        always_run: true
        entry: python manage.py test
        language: system
        types: [python]

编辑:我已经意识到在提交或推送上运行后端测试不是一个好主意。应该只运行钩子来清理 git 钩子上的代码。

像这样定期运行后端测试并不是一个好主意,因为随着您的应用程序变得越来越大,要运行的测试数量会越来越多,并且您会减慢开发速度。如果您的测试与我的测试类似,您将在测试数据库中创建很多对象,这些对象也需要被销毁。相反,您应该在您的钩子之外定期运行测试,最后让它们在您的部署管道中运行。

标签: pythondjangopre-commit-hook

解决方案


我现在有同样的问题,但它适用于这个:

 repos:
  - repo: local
    hooks:
      - id: django-test
        name: django-test
        entry: python manage.py test
        always_run: true
        pass_filenames: false
        language: system

推荐阅读