| +- api Tests for API endpoints (search, reverse, etc.)
|
+- php PHP unit tests
- +- scenes Geometry test data
+ +- python Python unit tests
+- testdb Base data for generating API test database
+ +- testdata Additional test data used by unit tests
```
## PHP Unit Tests (`test/php`)
-Unit tests can be found in the php/ directory. They test selected php functions.
-Very low coverage.
+Unit tests for PHP code can be found in the `php/` directory. They test selected
+PHP functions. Very low coverage.
To execute the test suite run
UNIT_TEST_DSN='pgsql:dbname=nominatim_unit_tests' phpunit ../
It will read phpunit.xml which points to the library, test path, bootstrap
-strip and set other parameters.
+strip and sets other parameters.
It will use (and destroy) a local database 'nominatim_unit_tests'. You can set
a different connection string with e.g. UNIT_TEST_DSN='pgsql:dbname=foo_unit_tests'.
+## Python Unit Tests (`test/python`)
+
+Unit tests for Python code can be found in the `python/` directory. The goal is
+to have complete coverage of the Python library in `nominatim`.
+
+To execute the tests run
+
+ py.test-3 test/python
+
+or
+
+ pytest test/python
+
+The name of the pytest binary depends on your installation.
+
## BDD Functional Tests (`test/bdd`)
Functional tests are written as BDD instructions. For more information on