0

我正在用 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'

4

1 回答 1

0

我以前从未听说Flask-Testing过。

我强烈建议遵循官方文档。

https://flask.palletsprojects.com/en/1.1.x/testing/

于 2021-02-27T13:32:44.450 回答