繁体   English   中英

预提交的设置环境

[英]Setup environment for pre-commit

如何获取包含环境变量导出的 bash 脚本?

env.sh

...
export VARIABLE=test
...

test_file.py

...
os.environ['VARIABLE'] # Throws KeyError
...

如何使用 pre-commit 运行env.sh来设置以下pytest挂钩可以使用的环境?

-   repo: local
    hooks:
    -   id: tests
        name: run tests
        entry: pytest -v
        language: system
        types: [python]

由于以下原因,您不应该对 pytest 使用预提交:

  • 测试通常很慢,提交应该很快
  • 它必须是一个系统/脚本挂钩,因为您需要特定于存储库的依赖项。

来源: https ://github.com/pre-commit/pre-commit-hooks/issues/291

我认为这将解决您的问题: How to pass environment variables to pytest

预提交配置

  • 将语言更改为 python (可选,但这样预提交会创建一个 venv)
  • 条目 - 我们将调用 bash 脚本,而不是直接调用 pytest

前任。

 - repo: local
   hooks:
   - id: tests
     name: run tests
     entry: bash tests.sh
     language: python

测试.sh

source env.sh
pytest -v .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM