无法在 repo 的 unittest 文件夹中导入 Flask 应用程序文件夹
Unable to import flask app folder in unittest folder of an repo
我在为我的 Flask 应用程序编写单元测试时遇到问题。确切的问题是单元测试目录中的测试文件无法从应用程序文件夹导入文件。
我的目录结构:
.
├── Dockerfile
├── README.md
├── app
│ ├── __init__.py
│ ├── api.py
│ └── wsgi.py
├── docker
│ ├── docker-compose.yml
│ └── start.sh
├── requirements.txt
└── unit-test
├── __init__.py
└── test_api.py
unit-test/test_api.py 中的代码:
import unittest
from app import api
绝对导入抛出此错误:
from app import api
ModuleNotFoundError: No module named 'app'
在检查了一些绝对和相对导入的资源后,我尝试了以下方法,none 有效。
from .. import app
错误:
from .. import app
ImportError: attempted relative import with no known parent package
我检查了一些关于 SO 的问题,有人建议在 unit-test
文件夹中也有 _init_.py 文件,但我已经有一个空白 init.py在那里归档。
我已经查看了许多博客和 youtube 教程,绝对导入很容易为他们工作。
请告知如何修复此错误和 运行 单元测试。
import sys
sys.path.append('/path/to/the/required/folder')
import name_of_file
如果不是内置包,Python 仅在您尝试导入时在当前目录中搜索,因此我们必须添加此路径,以便它也能在这个特定文件夹中查找。添加后,您可以简单地进行导入。
我在为我的 Flask 应用程序编写单元测试时遇到问题。确切的问题是单元测试目录中的测试文件无法从应用程序文件夹导入文件。 我的目录结构:
.
├── Dockerfile
├── README.md
├── app
│ ├── __init__.py
│ ├── api.py
│ └── wsgi.py
├── docker
│ ├── docker-compose.yml
│ └── start.sh
├── requirements.txt
└── unit-test
├── __init__.py
└── test_api.py
unit-test/test_api.py 中的代码:
import unittest
from app import api
绝对导入抛出此错误:
from app import api
ModuleNotFoundError: No module named 'app'
在检查了一些绝对和相对导入的资源后,我尝试了以下方法,none 有效。
from .. import app
错误:
from .. import app
ImportError: attempted relative import with no known parent package
我检查了一些关于 SO 的问题,有人建议在 unit-test
文件夹中也有 _init_.py 文件,但我已经有一个空白 init.py在那里归档。
我已经查看了许多博客和 youtube 教程,绝对导入很容易为他们工作。
请告知如何修复此错误和 运行 单元测试。
import sys
sys.path.append('/path/to/the/required/folder')
import name_of_file
如果不是内置包,Python 仅在您尝试导入时在当前目录中搜索,因此我们必须添加此路径,以便它也能在这个特定文件夹中查找。添加后,您可以简单地进行导入。