pytest在控制檯的方式下提示找不到包
阿新 • • 發佈:2020-11-04
問題:pytest方法在idea中執行正常,引入包也正常,但是在控制檯中執行就提示找不到包
原因:我查詢過很多檔案,好像問題是這樣,是因為idea載入路徑的時候是會把當前目錄的路徑加入進去,進行執行,但是如果是用控制檯,根目錄就不會被載入,所以要手動新增目錄
以下為例,專案名/cases/執行的方法 引入包的地址是 專案名/conf/QA 因為在idea中啟用了source root功能,會發現匯入form conf import QA正常,執行也能正常,但是當我們取消sour root功能執行,這個時候執行與控制檯中就一樣了
取消後的效果
取消後soure root 用控制檯執行都是同樣的問題
解決方法
在引包之前加入路徑,引包之前加入路徑,引包之前加入路徑,重要的事情說三遍,一定是引包之前,(因為我就犯了這個錯誤,在引包的後面,在去加入路徑,所以浪費了一個晚上糾結這個事情)
from os.path import dirname, join sys.path.append(dirname(dirname(__file__)))
雖然看到還是紅色,但是不影響我們的執行,看下面就正常了