我正在用 Flask 练习 tdd,有趣的是我的第一个测试文件似乎无法检测到主要的 flask_app 文件:
test_basics.py:
from flask_testing import TestCase
from flask_app import app
import unittest
class TestBasics(TestCase):
def test_home_route(self):
with self.client:
response = self.client.get('/')
self.assertEqual(response.status_code, 200)
self.assertTrue(response.data == b'hakuna matata')
if __name__ == '__main__':
unittest.main()
我创建setup.py
了根目录,因此将其视为项目目录:
from distutils.core import setup
from setuptools import find_packages
setup(
version='0.0.1',
description='training',
name='flask'
)
项目结构:
├── flask_app.py
├── __pycache__
│ └── flask_app.cpython-38.pyc
├── setup.py
├── tests
│ └── test_basics.py
└── venv
export FLASK_APP=flask_app.py
export FLASK_ENV=development
flask run
我需要做什么才能使测试可以针对主要的 flask_app.py 文件运行?
python tests/test_basics.py
返回:
ModuleNotFoundError: No module named 'flask_app'