In this minimalist example, using
pytest we're going to test that indeed our Hello World app does return "Hello, World!" with an HTTP OK status code of 200, when hit with a GET request on the URL
First let's install
pytest into our virtualenv
pip install pytest
And just for reference, this our hello world app:
# hello.py from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!'
Along side our
hello.py, we define a test module called
test_hello.py that is going to be discovered by
# test_hello.py from hello import app def test_hello(): response = app.test_client().get('/') assert response.status_code == 200 assert response.data == b'Hello, World!'
Just to review, at this point our project structure obtained with the
tree command is:
. ├── hello.py └── test_hello.py
Now we can run this test with the
py.test command that will automatically discover our
test_hello.py and the test function inside it
You should see some output and an indication that 1 test has passed, e.g.
=== test session starts === collected 1 items test_hello.py . === 1 passed in 0.13 seconds ===