【发布时间】:2020-04-09 00:12:16
【问题描述】:
我希望 pre-commit 在提交我的代码之前运行测试。
命令python -m unittest discover 正在命令行中运行。
D:\project_dir>python -m unittest discover
...
...
...
----------------------------------------------------------------------
Ran 5 tests in 6.743s
OK
但是当我尝试提交时,我得到了
D:\project_dir>git commit -m "fix tests with hook"
run tests................................................................Failed
hookid: tests
usage: python.exe -m unittest discover [-h] [-v] [-q] [--locals] [-f] [-c]
[-b] [-k TESTNAMEPATTERNS] [-s START]
[-p PATTERN] [-t TOP]
python.exe -m unittest discover: error: unrecognized arguments: bigpipe_response/processors_manager.py
usage: python.exe -m unittest discover [-h] [-v] [-q] [--locals] [-f] [-c]
[-b] [-k TESTNAMEPATTERNS] [-s START]
[-p PATTERN] [-t TOP]
python.exe -m unittest discover: error: unrecognized arguments: tests/test_processors.py
这是我的.pre-commit-config.yaml 文件。
- repo: local
hooks:
- id: tests
name: run tests
entry: python -m unittest discover
language: python
types: [python]
stages: [commit]
对于语言,我尝试使用system。我得到了同样的结果。
我该如何解决这个问题?请帮忙。
【问题讨论】:
-
你用什么程序来运行这个预提交钩子?
-
@magikid 你说的什么程序是什么意思?
-
git 本身并不理解您的
.pre-commit-config.yaml文件。所有 git 理解的都是.git/hooks/文件夹中的脚本。看起来使用这个文件的程序是pre-commit 程序。
标签: python git python-unittest pre-commit-hook pre-commit.com