[英]Flask - Can't import app inside test file
我正在嘗試為我制作的 flask 應用程序編寫一些單元測試。 該項目設置如下:
apiproject (parent folder containing everything)
/venv
run.py
requirements.txt
/project
__init__.py
/departments
__init__.py
routes.py
models.py
/users
__init__.py
routes.py
models.py
/tests
TestUsers.py
運行.py:
from project import app
if __name__ == '__main__':
app.run(debug=True)
我的實際應用是在 project/ init .py 下創建的
from flask import Flask, jsonify, Response
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
import os
from dotenv import load_dotenv
from flask_cors import CORS
load_dotenv(verbose=False)
DB_URL = os.getenv("DATABASE_URL")
# initialize the application
app = Flask(__name__)
在我的 TestUsers.py 我有這個:
import json
from project import app
import unittest
from dotenv import load_dotenv
load_env(verbose=False)
class TestUsers(unittest.TestCase):
def setUp(self):
self.app = app
self.url_prefix = prefix = os.getenv("URL_PREFIX")
self.client = self.app.test_client()
def test_index(self):
response = self.client.get(self.url_prefix + '/')
self.assertEqual(response.status_code, 200)
if __name__ == '__main__':
unittest.main()
當我運行 TestUsers.py 時,我得到 ModuleNotFoundError: No module named 'project'。 我嘗試在 TestUsers.py 中執行 sys.path.append('../') 和../../,但這沒有幫助。
在 TestUsers.py 中,在導入應用程序之前:
https://stackoverflow.com/a/22737042/7858114
我認為您的 apiproject 文件夾中也需要一個init .py 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.