From 8d49440d8b881b2df2c10085a58d3a4e4085147e Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Sun, 2 May 2010 11:45:40 +0200 Subject: [PATCH] Added example for context bound objects to the testing docs. This fixes #18 --- docs/testing.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/testing.rst b/docs/testing.rst index 0901792b..be72e746 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -195,3 +195,22 @@ suite. .. _MiniTwit Example: http://github.com/mitsuhiko/flask/tree/master/examples/minitwit/ + + +Other Testing Tricks +-------------------- + +Besides using the test client we used above there is also the +:meth:`~flask.Flask.test_request_context` method that in combination with +the `with` statement can be used to activate a request context +temporarily. With that you can access the :class:`~flask.request`, +:class:`~flask.g` and :class:`~flask.session` objects like in view +functions. Here a full example that showcases this:: + + app = flask.Flask(__name__) + + with app.test_request_context('/?name=Peter'): + assert flask.request.path == '/' + assert flask.request.args['name'] == 'Peter' + +All the other objects that are context bound can be used the same.