簡體   English   中英

Pytest 找不到文件/模塊

[英]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.

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