J'ai essayé de tester mon application Flask qui utilise PyMongo. L'application fonctionne bien, mais quand j'exécute des tests unitaires, je reçois constamment un message d'erreur disant "travailler en dehors du contexte de l'application". Ce message est envoyé chaque fois que j'exécute un test unitaire nécessitant l'accès à la base de données Mongo.Flask MongoDB erreur: "travail en dehors du contexte de l'application"
J'ai suivi ce guide pour les tests unitaires: http://flask.pocoo.org/docs/testing/
conception de mon application est simple, similaire au tutoriel standard Flask.
Quelqu'un avait-il déjà le même problème?
class BonjourlaVilleTestCase(unittest.TestCase):
container = {}
def register(self, nickname, password, email, agerange):
"""Helper function to register a user"""
return self.app.post('/doregister', data={
'nickname' : nickname,
'agerange' : agerange,
'password': password,
'email': email
}, follow_redirects=True)
def setUp(self):
app.config.from_envvar('app_settings_unittests', silent=True)
for x in app.config.iterkeys():
print "Conf Key=%s, Value=%s" % (x, app.config[x])
self.app = app.test_client()
self.container["mongo"] = PyMongo(app)
self.container["mailer"] = Mailer(app)
self.container["mongo"].safe = True
app.container = self.container
def tearDown(self):
self.container["mongo"].db.drop()
pass
def test_register(self):
nickname = "test_nick"
password = "test_password"
email = "[email protected]"
agerange = "1"
rv = self.register(nickname, password, email, agerange)
assert "feed" in rv.data
if __name__ == '__main__':
unittest.main()
Pourriez-vous poster un test unitaire afin que nous puissions y jeter un coup d'œil? – Talvalin