By default tests will be run using the Postgres container defined at the docker-compose
file on the root of the repo,
so prior to using this script make sure to launch the dev containers.
You can use a different DB backend by defining SUPERSET__SQLALCHEMY_DATABASE_URI
env var.
This script will not install any dependencies for you, so you must be on an already set virtualenv
To show all supported switches:
scripts/tests/run.sh --help
From the superset repo root directory:
- Example run all tests:
scripts/tests/run.sh
- Example run a single test module:
scripts/tests/run.sh --module tests/charts/api_tests.py
- Example run a single test:
scripts/tests/run.sh --module tests/charts/api_tests.py::TestChartApi::test_get_charts
- Example run a single test, without any init procedures. Init procedures include: resetting test database, db upgrade, superset init, loading example data. If your tests are idempotent, after the first run, subsequent runs are really fast
scripts/tests/run.sh --module tests/charts/api_tests.py::TestChartApi::test_get_charts --no-init
- Example for not recreating the test DB (will still run all the tests init procedures)
scripts/tests/run.sh --module tests/charts/api_tests.py::TestChartApi::test_get_charts --no-reset-db
- Example for not running tests just initialize the test DB (drop/create, upgrade and load examples)
scripts/tests/run.sh --no-tests
- Example for just resetting the tests DB
scripts/tests/run.sh --reset-db --no-tests