Python 无法导入烧瓶应用程序
我有一个这样的结构:Python 无法导入烧瓶应用程序,python,flask,python-unittest,Python,Flask,Python Unittest,我有一个这样的结构: flask_api api __init__.py tests test_base.py manage.py 在init.py中: def create_app(): connexion_app = connexion.App(__name__, specification_dir='swagger/') connexion_app.add_api('output.yaml', res
flask_api
api
__init__.py
tests
test_base.py
manage.py
在init.py中:
def create_app():
connexion_app = connexion.App(__name__, specification_dir='swagger/')
connexion_app.add_api('output.yaml', resolver=RestyResolver('api'), validate_responses=True)
app = connexion_app.app
CORS(app)
app.register_blueprint(utils)
...
return app
在manager.py中:
from api import create_app
app = create_app()
manager = Manager(app)
@manager.command
def test():
print(app.root_path)
tests = unittest.TestLoader().discover(
'api/tests',
pattern='test*.py'
)
result = unittest.TextTestRunner(verbosity=2).run(tests)
if result.wasSuccessful():
return 0
return 1
if __name__ == '__main__':
manager.run()
在test_base.py中:
from flask_api import app
现在,当我运行python menage.py测试时,我得到一个错误:
File "/home/flask_api/api/tests/test_base.py", line 7, in <module>
from flask_api import app
ModuleNotFoundError: No module named 'flask_api
文件“/home/flask\u api/api/tests/test\u base.py”,第7行,在
来自flask_api导入应用程序
ModuleNotFoundError:没有名为“flask\u api”的模块
如何将应用程序导入测试库?在测试中,从
api导入创建应用程序
再次导入,然后创建新的应用程序实例
简单地说:
from api import create_app
毕竟,为了简单起见,您可以指定
self.app=create\u app()
您不应该这样做。在测试中,从api导入创建应用程序重新导入,然后在那里创建新的应用程序实例。然后,为了可读性,您可以self.app=create\u app()
。您应该添加一个文件flask\u api/\uuuuuuuuu init\uuuuuuuuuuupy
@以使其正常工作。你应该把你的评论作为答案发布,这样我就可以投票并把它标记为答案。当然,谢谢。