Introduction aux test unitaires sous python, Django et Android

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 :

  1. les différentes façons d'écrire des tests : https://docs.djangoproject.com/en/1.4/topics/testing/#writing-tests
  2. 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
  3. les outils de tests du framework : https://docs.djangoproject.com/en/1.4/topics/testing/#testing-tools
  4. 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


Gauthier Picard, October 2012