#unit-testing #flask #flask-testing
#модульное тестирование #flask #flask-тестирование
Вопрос:
Я практикую tdd с Flask, и, как ни странно, мой первый тестовый файл, похоже, не может обнаружить основной файл 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'
Ответ №1:
Я никогда не слышал об Flask-Testing
этом раньше.
Я бы настоятельно рекомендовал следовать официальной документации.