[PYTHON] Bis du weißt, was du mit Django mit Jenkins gemacht hast

Hinweise zum Schreiben von Tests in Django, zum Ausgeben von Testberichten und Berichterstattungsberichten sowie zum Ausgeben von Testergebnissen an Jenkins Ich habe auf den folgenden Artikel verwiesen. Testen mit Django

Annahme

Bitbucket und Jenkins wurden verknüpft. Wenn Sie von der lokalen Umgebung zu Bitbacket wechseln, wird der Jenkins-Build automatisch ausgeführt und der Test ausgeführt. Informationen zum Erstellen dieser Umgebungen finden Sie im folgenden Blog.

Über die Zusammenarbeit zwischen dem privaten Repository von Bitbucket und Jenkins

Erstellen einer Testumgebung mit Django

Modulinstallation

Installieren Sie die Django-Nase und die Abdeckung mit Pip. Früher habe ich eine ähnliche Umgebung mit unittest-xml-reporting erstellt, aber ich finde, dass Django-Nase viel einfacher ist.

$ pip install django-nose coverage

Einstellungen in der Testeinstellungsdatei

Beschreiben Sie die Testeinstellungen in der Testeinstellungsdatei.

# settings_test.py

# -*- coding:utf-8 -*-
from mysite.settings import *
import os

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
#Bericht über die Berichterstattung(html)Geben Sie den Ordner an, der ausgegeben werden soll
COVERAGE_REPORT_HTML_OUTPUT_DIR = '.cover'

#Festlegen von Argumenten beim Ausführen eines Tests(Nasenargument)
NOSE_ARGS = [
    '--with-xunit',
    '--with-coverage',
    '--cover-xml',
    '--cover-html',
    '--cover-package=app', #Geben Sie den zu testenden App-Namen an
]

#B Umgebungseinstellungen zum Testen(settings.Getrennt von der DB-Umgebung von py)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'test.db'),
    }
}

Testlauf

Erstellen Sie den Testcode unter app (app / tests.py), geben Sie settings_test in der Einstellungsdatei wie unten gezeigt an und führen Sie den Test aus.

$ python manage.py test app --settings=mysite.settings_test

Erfolgreich, wenn der Coverage-Bericht (HTML) auf mysite / cover ausgegeben wird und nosetests.xml und Coverage.xml direkt unter mysite ausgegeben werden. Jetzt sind Sie bereit für CI mit Jenkins.

Testbericht in Jenkins anzeigen

Stellen Sie die Ausgabe des Testberichts auf dem Einstellungsbildschirm des Zielprojekts ein.

Schreiben Sie einen Befehl, um den Test auszuführen

Wählen Sie Shell für Build ausführen aus und schreiben Sie einen Befehl, um den folgenden Test im Textbereich des Shell-Skripts auszuführen. Wenn der Jenkins-Build ausgeführt wird, wird der beschriebene Befehl ausgeführt.

#Führen Sie virtualenv aus(Erstellen Sie im Voraus eine Umgebung an einem beliebigen Ort)
source /var/www/django/mysite/venv/bin/activate
#Führen Sie den Test aus
python manage.py test app --settings=mysite.settings_test

Angeben eines Testberichts (XML-Datei)

Geben Sie den Namen der XML-Ausgabedatei für das Cobertura XML-Berichtsmuster für die Verarbeitung nach dem Build und die Aggregation der JUnit-Ergebnisse ein. Dieses Mal wird XML direkt unter mysite ausgegeben, sodass Sie einfach den Dateinamen eingeben können. スクリーンショット 2014-11-11 1.15.54.png

Mit den obigen Einstellungen wird der Testbericht in Jenkins angezeigt, wenn der Build ausgeführt wird.

スクリーンショット 2014-11-11 1.29.31.png

Recommended Posts

Bis du weißt, was du mit Django mit Jenkins gemacht hast
Bis Sie Jupyter in Docker starten
Twitter-Posting-Anwendung mit Django gemacht
Bis Python auf Apache läuft
Bis Sie den Rubin mit Renpy schütteln
Python | Was Sie mit Python machen können
Ihr eigener Twitter-Client mit Django
Einfacher RSS-Reader mit Django
Beachten Sie, bis Sie Emacs mit WSL verwenden
Was Sie mit API Vol.1 tun können
Bis Sie die iOS-Kommunikation mit mitmproxy bestätigen
Bis die mit Flasche erstellte Webanwendung auf Heroku veröffentlicht (bereitgestellt) wird
Was Sie mit Programmierkenntnissen machen können
Bis Sie opencv mit Python verwenden können
Ich habe eine WEB-Bewerbung bei Django gemacht
Bis Sie die Kaggle-API mit Colab verwenden
Was vergleichst du mit Python und ==?
Python-Anfänger süchtig nach Django
Bis zur Verwendung von PhantomJS mit Python auf Heroku
Bis Sie eine neue App in Django erstellen
Was verwenden Sie beim Testen mit Python?
Was ist Django? .. ..
Internationalisierung mit Django
CRUD mit Django
Links, um mit Sublime Text zu tun, was Sie wollen
Wenn Sie mit dem Django REST-Framework filtern möchten
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
pickle Um zu lesen, was in 2 Serien mit 3 Serien gemacht wurde
Bis Sie Server Django mit Visual Studio Code ausführen
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
[GitHub] Bis Sie mit ssh mithilfe von Deploy-Schlüsseln ziehen
Was Sie mit hstack oder vstack mit dstack nicht machen können
Dinge zu tun, wenn Sie anfangen, sich mit Django zu entwickeln
Bis TensorFlow-GPU mit pip in der Windows-Umgebung installiert ist
Was Sie mit Tensorflow 2.x tun können und was nicht
Bis Sie mit Jupyter eine einfache Bilderkennung durchführen können