Functional Testing of Web Applications¶
Framework Hooks¶
Frameworks can detect that they are in a testing environment by the
presence (and truth) of the WSGI environmental variable
"paste.testing"
(the key name is inherited from
paste.fixture
).
More generally, frameworks can detect that something (possibly a test
fixture) is ready to catch unexpected errors by the presence and truth
of "paste.throw_errors"
(this is sometimes set outside of testing
fixtures too, when an error-handling middleware is in place).
Frameworks that want to expose the inner structure of the request may
use "paste.testing_variables"
. This will be a dictionary -- any
values put into that dictionary will become attributes of the response
object. So if you do env["paste.testing_variables"]['template'] =
template_name
in your framework, then response.template
will be
template_name
.