В Flask, как я могу провести модульное тестирование формы WTF? - PullRequest
0 голосов
/ 29 апреля 2018

Я использую WTForms . Когда я запускаю тест, я получаю следующую ошибку:

RuntimeError: работа вне контекста приложения

Вот упрощенная версия моего теста:

from unittest import TestCase
from forms.my_form import MyForm

class MyFormTest(TestCase):
    def test_expects_to_instantiate_new_form(self):
        form = MyForm()
        self.assertIsInstance(form, MyForm)

Упрощенная версия моей формы:

from flask_wtf import FlaskForm
from wtforms import HiddenField
from wtforms.validators import Required

class MyForm(FlaskForm):
    hidden_field = HiddenField('Label will not be visible', [Required()])

1 Ответ

0 голосов
/ 29 апреля 2018

Чтобы предоставить требуемый контекст приложения, я вручную выдал контекст :

from unittest import TestCase
from forms.my_form import MyForm
from flask import Flask

class MyFormTest(TestCase):
    def test_expects_to_instantiate_new_form(self):
        # Arrange
        app = Flask(__name__)

        # Act
        with app.test_request_context('/'):
            form = MyForm()

        # Assert
        self.assertIsInstance(form, MyForm)
...