Introduction aux test unitaires sous python, Django et Android
Table des matières
1 Introduction
La pratique à ne pas négliger lorsque l'on développe en équipe (et même seul) est l'utilisation systématique des tests unitaires. Dans ce TP nous allons explorer l'usage de ces tests à la fois dans le cadre de Django et sous Android.
2 Tests unitaires sous Django
Django possède ses propres fonctionnalités de tests qui peuvent être appelés grâce à la commande :
./manage.py test
2.1 Les fixtures
Une première chose importante avant de lancer des tests, est de pouvoir peupler la base de données avec des données initiales. Pour ce faire, Django propose un mécanisme de fixtures.
Exercice
Lisez le document sur les fixtures et peuplez votre base avec des données initiales.
2.2 Les tests sous Django
Encore une fois la documentation de Django est très complète, notamment sur la conduite de tests unitaires et d'intégration :
https://docs.djangoproject.com/en/1.4/topics/testing/
Ce document présente :
- les différentes façons d'écrire des tests : https://docs.djangoproject.com/en/1.4/topics/testing/#writing-tests
- l'exécution des tests et la configuration de la base de données de tests : https://docs.djangoproject.com/en/1.4/topics/testing/#running-tests
- les outils de tests du framework : https://docs.djangoproject.com/en/1.4/topics/testing/#testing-tools
- des alternatives pour lancer les tests : https://docs.djangoproject.com/en/1.4/topics/testing/#using-different-testing-frameworks
Les deux premiers points sont essentiels, les deux autres vont plus en détails sur le cadre de test dans Django.
Exercice
Lisez le document sur les tests et écrivez des tests pour vos différentes fonctions.
Bonne pratique
A partir de maintenant écrivez vos tests avant de coder les éléments à tester pour toutes vos fonctions. Ceci s'appelle suivre un développement dirigé par les tests : Test-Driven Development.
3 Tests unitaires sous Android
Sous Android, la philosophie reste la même. Les test unitaires sous Android reposent sur la librairie JUnit pour les tests unitaires en Java.
La page de la documentation officielle Android présente le cadre de tests dans Android (en ligne de commande ou sous Eclipse).
3.1 La librairie JUnit
JUnit est le cadre de tests en Java : http://www.junit.org/
Vous trouverez une introduction informelle dans ces transparents et un tutorial dans ici.
3.2 Les tests sous Android
Exercice
Une fois familiarisé avec JUnit, vous pouvez suivre le tutorial Android officiel :
http://developer.android.com/tools/testing/activity_test.html