python - 如何在预提交挂钩中运行 django 测试
问题描述
我坚持如何在预提交挂钩中简单地运行我的 django 测试。我最终会将它们置于推动阶段,但我只是想让它们先运行。它试图循环我的测试,但测试对象是 NoneType 对象。在这个钩子之外工作正常。我相信这对某人来说是显而易见的。谢谢。
这是我的测试钩子。
repo: local
hooks:
- id: tests
name: run tests
always_run: true
entry: python manage.py test
language: system
types: [python]
编辑:我已经意识到在提交或推送上运行后端测试不是一个好主意。应该只运行钩子来清理 git 钩子上的代码。
像这样定期运行后端测试并不是一个好主意,因为随着您的应用程序变得越来越大,要运行的测试数量会越来越多,并且您会减慢开发速度。如果您的测试与我的测试类似,您将在测试数据库中创建很多对象,这些对象也需要被销毁。相反,您应该在您的钩子之外定期运行测试,最后让它们在您的部署管道中运行。
解决方案
我现在有同样的问题,但它适用于这个:
repos:
- repo: local
hooks:
- id: django-test
name: django-test
entry: python manage.py test
always_run: true
pass_filenames: false
language: system