我一直在嘗試使用PyMongo測試我的Flask應用程序。該應用程序工作正常,但是當我執行單元測試時,我經常會收到一條錯誤消息,說「在應用程序上下文之外工作」。每次運行任何需要訪問Mongo數據庫的單元測試時都會拋出此消息。Flask MongoDB錯誤:「在應用程序環境之外工作」
我一直在這個指南的單元測試如下: http://flask.pocoo.org/docs/testing/
我的應用程序的設計是直線前進,類似於標準瓶教程。
有沒有人有同樣的問題?
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()
您可以發佈單元測試以便我們可以查看它嗎? – Talvalin