Intégration continue pour python et django avec jenkins - django

La première étape va être de rédiger vos tests unitaires et d'installer les outils nécessaires.

Installation des dépendances

Commençons donc par installer les diverses bibliothèques nécessaires aux bons déroulements de vos tests. Tout repose essentiellement sur django-jenkins qui permet de lancer les tests et générer des rapports au format jenkins.

Ci-dessous, la liste au format requirements pip. Cette liste est contenue dans un fichier requirements_tests.txt :

django-jenkins>=0.16.2
coverage>=3.7.1
pep8>=1.5.7
pyflakes>=0.8.1
pylint>=1.3.0
flake8>=2.2.2

Et pour installer tout ça :

$ pip install -r requirements_tests.txt

Configuration

Maintenant que tout est installé, on va s'intéresser à la configuration de django-jenkins.

Premièrement, ajouter l'apps django-jenkins à la liste des INSTALLED_APPS dans le settings.py.

Deuxièmement, configurer les apps à tester :

PROJECT_APPS = (
    'app1',
    'appsN'
)

Et pour finir, la liste des différents tests à lancer en plus des tests unitaires :

JENKINS_TASKS = (
    'django_jenkins.tasks.run_pep8',
    'django_jenkins.tasks.run_flake8',
    'django_jenkins.tasks.run_pyflakes',
    'django_jenkins.tasks.run_pylint',
    'django_jenkins.tasks.run_sloccount'
)

Tests unitaires

Pour rédiger vos tests unitaires, je vous laisse lire tranquillement la documentation django à ce sujet.

Voici cependant un exemple de test :

from django.test import TestCase
from django.test.client import Client


class CoreTestCase(TestCase):
    def setUp(self):
        self.client = Client()

    def test_url_index_url_success(self):
        response = self.client.get('/')
        self.assertEqual(response.status_code, 200)

Lire la troisieme partie