TeamCity, Django und Tests
Wer TeamCity nutzt und mal was mit Django macht, der ärgert sich sicherlich, daß TeamCity per se nur Java unterstützt und es kein offizielles Plugin für Python gibt.
Dem kann jedoch Abhilfe geschaffen werden.
- Die folgende Erweiterung für Python installieren: http://pypi.python.org/pypi/teamcity-messages
- Die Datei
django/test/simple.pynachMein Projekt/Meine Anwendung/tests.pykopieren. - Die eben kopierte Datei folgendermaßen anpassen:
from teamcity import underTeamcity from teamcity.unittestpy import TeamcityTestRunner ... connection.creation.create_test_db(verbosity, autoclobber=not interactive) if underTeamcity(): result = TeamcityTestRunner().run(suite) else: result = unittest.TextTestRunner(verbosity=verbosity).run(suite) connection.creation.destroy_test_db(old_name, verbosity) ... - In der Datei
Mein Projekt/settings.pydie ZeileTEST_RUNNER = 'Meine Anwendung.tests.run_tests'einfügen.
- Zu guter Letzt konfiguriert man den Testrunner unter TeamCity so, daß als Befehl
python manage.py testaufgerufen wird.
Wenn man auf dem selben Server testet, auf dem die Applikation evtl. auch schon läuft und Logdateien benutzt, sollte eine separate settings.py für TeamCity erstellt werden (z.B. tc-settings.py). In dieser Datei kann man dann separate Logdateien definieren, damit es keine Fehlermeldungen hinsichtlich der Zugriffsrechte gibt.
Der Aufruf für den Testrunner muß dann python manage.py test --settings=tc-settings lauten.
- Zum Verfassen von Kommentaren bitte Anmelden.
