Unit Tests¶
Writing Unit Tests with Flask-Philo¶
Flask-Philo supports unit tests. All you have to do is
create a class insised tests directory in your project
that extends flask_philo.test.FlaskTestCase.
E.g.
from datetime import datetime
from elasticsearch.exceptions import NotFoundError
from flask_philo.test import FlaskTestCase
import pytest
import time
class TestDBAccess(FlaskTestCase):
def test_connection(self):
client = self.elasticsearch_pool.connections['DEFAULT']
assert client.ping() is True
def test_create_index(self):
client = self.elasticsearch_pool.connections['DEFAULT']
assert {} == client.get_alias()
client.create_index('my-test')
assert 'my-test' in client.get_alias()
Running Unit Tests¶
To run all Unit Tests for a Flask-Philo app, use the following console command:
python3 manage.py test
To execute only the Unit Tests from one source file, use the --q <test_source.py> argument:
python3 manage.py test --q tests/test_db.py
To execute only the tests from one class :
python3 manage.py test --q tests/test_db.py::TestDBAccess
To execute a single specific unit test :
python3 manage.py test --q tests/test_db.py::TestDBAccess::test_create_index