Comments (5)
I do not recommend triggering the request handling like this. The nicer solution is the test_client like the example tests do: http://github.com/mitsuhiko/flask/blob/master/examples/minitwit/minitwit_tests.py
The big advantage is that it does not depend on a certain way to dispatch requests and tests will continue to work if one refactors the request dispatching.
from flask.
I assume that using test_client there is no way to access the session since test_client treats the app as a black box. That was what thadeusb was trying to do.
from flask.
That is indeed the case but you can hook in a temporary view so that you can access the session from there (for example). There are other ways as well but I'm not sure if its not a better idea to test the application as blackbox in general.
from flask.
I figured the purpose of unittesting was to make sure your application was working properly.
What if I store a fairly large object in session (say I am making a ampache clone) and I store the playlist. I need to verify that that playlist is correct in the session object, I can't even look at it correctly from an html stand point.
There is another issue with black-box testing, what if I change the way my flash messsage is worded? Well now all my tests are broken, even though my application works just fine and dandy.
from flask.
Added example for context bound objects to the testing docs. This closed by 8d49440
from flask.
Related Issues (20)
- Add OpenAPI functionality HOT 2
- The double quote is missing in the string
- Code style inconsistency
- cannot import name '_request_ctx_stack' from 'flask' HOT 6
- flask -A flaskr init-db Error: Could not import 'flaskr.flaskr'. Usage: flask [OPTIONS] COMMAND [ARGS]... Try 'flask --help' for help. Error: No such command 'init-db'. HOT 2
- Cannot import Markup from flask (v3.0.0) HOT 1
- jsonify does not support integer keys HOT 1
- Tutorial Database code doesn't work HOT 1
- JavaScript .js file content type default is text/javascript but could be application/javascript HOT 1
- Can't run tests without installing it HOT 1
- cli::ScriptInfo in versions >2.2.0 does not read FLASK_APP environment variable when invoked from command line HOT 1
- Getting Error - TemplateNotFound(template)
- GPU performance issues of flask framework
- Application Setup Tutorial doesn't work HOT 1
- Edit required in documentation: https://flask.palletsprojects.com/en/3.0.x/patterns/javascript/ #Replacing Content
- I'm seeing "GET /socket.io/?EIO=3&transport=polling&t=OozzqO3 HTTP/1.1" 404 errors running a simple flask app HOT 2
- Can I contribute HOT 6
- Donating Funds to Flask HOT 3
- Improve error messages on simple after request hook bugs HOT 1
- Session data is not untagged properly when using other JSON providers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flask.