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
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
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
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'),
}
}
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.
Stellen Sie die Ausgabe des Testberichts auf dem Einstellungsbildschirm des Zielprojekts ein.
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
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.
Mit den obigen Einstellungen wird der Testbericht in Jenkins angezeigt, wenn der Build ausgeführt wird.
Recommended Posts