pytestで ModuleNotFoundError: No module named 'hoge'が出る
1290 ワード
状況
以下のようなディレクトリ構成図でテストを実行する.
test_A.py,test_B.pyではbase_test.pyで定義したclassをimportしたい.
しかし,ModuleNotFoundError: No module named 'hoge'
が出てしまいimportに失敗する.
ディレクトリ構成
.
├── src
│ ├── main.py
├── tests
├── __init__.py
├── base_test.py (hogeクラスがある)
├── test_A.py (base_test.hogeをimportしたい)
├── test_B.py (base_test.hogeをimportしたい)
test_A.py,test_B.pyにおけるimport部分の書き方(失敗例)
from base_test import TestBase
解決方法
import部分の書き方を変える.
test_A.py,test_B.pyにおけるimport部分の書き方(成功例)
from tests.base_test import TestBase
以下のdocumentで説明されていますが,pytestはそのディレクトリのrootをsys.path
に追加しているようです.
そのため,今回のディレクトリ構成ではtestsディレクトリを始点にしたpathを書く必要がありました.
Author And Source
この問題について(pytestで ModuleNotFoundError: No module named 'hoge'が出る), 我々は、より多くの情報をここで見つけました https://qiita.com/Ikumi-Ito/items/f56a18eae358f4c75e8c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .