Test de GeoNode

La communauté encourage le Test Driven Development (ATS) et la contribution d’écrire de nouveaux tests pour étendre la couverture. Idéalement, chaque modèle, vue et utilitaire doivent etre couverte par des tests.

GeoNode a des Unit, intégration et tests de Javascript. Les tests unitaires sont situés dans le fichier de tests de chaque appli django (cartes, couches, Documents, Catalogue, recherche, sécurité etc.).

L’intégration, les CCF et les tests de fumée sont situés sous le dossier tests).

Avertissement

Les essais sont destinés à être exécuté à l’aide de la base de données SQLite, certains d’entre eux risquent de ne pas utiliser PostgreSQL ou autres. C’est pourquoi ** supprimez ou renommez votre fichier local_settings.py avant d’exécuter les tests **.

Si leur exécution en mode développement Assurez vous d’avoir le serveur jetty

fermer sinon le test pourrait se coincer. Pour vous assurer que c’est exécuté :

$ paver stop

Unit Tests

Pour exécuter l’unité essais Assurez-vous que vous avez le virtualenv active (si vous exécutez GeoNode sous virtualenv) puis exécutez :

$ paver test # or python setup.py test when testing development versions

Cela produira un rapport de test détaillé.

Il est possible d’exécuter des tests des applications spécifiques juste en utilisant la commande django :

$ python manage.py test app/tests.py

Par exemple:

$ python manage.py test geonode.maps.tests

Pour exécuter une méthode ou un seul test unitaire (omettre le nom de la méthode à exécuter l’ensemble de la classe), par exemple :

$ python manage.py test geonode.maps.tests:MapsTest.test_maps_search

Ces tests sont basés sur la suite de tests d’unité Python/django.

Tests d’intégration

Pour exécuter l’unité essais Assurez-vous que vous avez le virtualenv active (si vous exécutez GeoNode sous virtualenv) puis exécutez :

$ paver test_integration # or python setup.py test_integration when testing development versions

Pour exécuter la série de tests de l’intégration :

$ paver test_integration -n geonode.tests.csw

Comme les tests unitaires ci-dessus, il est également possible de tester des modules spécifiques, par exemple :

$ paver test_integration -n geonode.tests.integration:GeoNodeMapTest.test_search_result_detail

Faire l’essai avec une couverture :

$ python manage.py test  geonode.maps.tests -- --with-coverage --cover-package=geonode.maps

Ces tests sont basés sur la suite de tests d’unité Python/django.

Tests de JavaScript

Note

Tests de JavaScript a été désactivé actuellement en GeoNode. Il existe un plan afin d’améliorer et de le réactiver à l’avenir.