簡體   English   中英

pytest不執行test / __ init__.py文件

[英]pytest doesn't execute test/__init__.py file

我有以下問題:我有項目和一個小的庫和一個lib的測試目錄,類似的東西:

項目\\

+ MYLIB \\

++測試\\

在test__init__.py中,我有以下代碼:

SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, "test_data_files")))

所以只需更新syspath即可打開一些帶有測試數據的文件。 當我通過右鍵單擊Pycharm中的目錄來運行測試時,它會成功執行,但是當我運行時

python -m pytest lib/test

它不執行test / init .py文件並因FileNotFoundError而失敗,因為它可以找到測試數據文件。

這種行為的原因是什么,我該如何解決?

謝謝。

如果你在lib/test運行pytest,它將查找test_*.py .py文件並在其中運行測試。 正如您所知,它不會導入test包,因此永遠不會導入__init__ 如果你運行pytest“global”,它會導入它運行測試的包,以便導入__init__

要修復,你可以使用pytest的conftest.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM