簡體   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