[英]Pytest can't find files/modules
我已經看過關於此事的幾個不同主題,但無法弄清楚如何將其應用於我的情況。 我的測試文件夾中沒有 init.py 並且我嘗試使用conftest
。 我有一個這樣的目錄結構:
--app
--app.py
--src
--init.py
--module1.py
--module2.py
--module3.py
--configs
--config.json
--non-default-config.json
--tests
--test1.py
--conftest.py
其中app.py
導入模塊 1,然后導入模塊 2 和 3(使用import src.module2
)。 我使用以下命令在所有模塊文件(和 app.py)中加載config.json
:
with open('configs/config.json') as f:
CFG = json.load(f)
這在我從應用程序目錄運行app.py
時有效。 但是,當我運行pytest
(我認為它也應該從 app 目錄引用,因為 conftest.py 在 app 目錄中)並且它導入 module1(使用import src.module1
)時,它找不到configs/config.json
,但會找到app/configs/config.json
。 我不能使用它,因為它會導致我的應用程序在我運行app.py
時中斷。 但是,Pytest 可以從 src 文件夾中找到導入,即使它與 configs 文件夾處於同一級別。
如果我將conftest.py
移到 app 目錄之外並使用import app.src.module1
,則此導入成功,但在 module1 中導入 module2 則失敗。
我該如何解決這個問題? 有沒有更好的方法來構建我的項目?
通過從 app 文件夾而不是從基本目錄運行 pytest 解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.