[TIP] Django custom test runner with Jenkins
tartley at tartley.com
Sat Mar 17 04:21:10 PDT 2012
I got a lot of out Carl Meyer's PyCon talk "Testing and Django":
One of his suggestions is a custom Django test runner to augment test
discovery, by subclassing DjangoTestSuiteRunner, and referencing it in
I went down this route a while back, but then ripped it out and reverted
to Django's built-in test runner when we added Jenkins CI to our project
a handful of weeks later, because Jenkins has its own test runner, that
by itself doesn't find all the tests that my/Carl's test runner would
discover. I lacked the wherewithall to get Jenkins to use my custom test
runner, while still performing all the actions that Jenkins itself needs.
Am I missing a trick? Is this actually easy?
The alternative solution I switched to was to have every Django app's
"tests.py" call a function which does test discovery, and then inject
the discovered TestCase classes into the tests.py module namespace, so
that Django's default testrunner will find tests no matter where I put them.
I'd prefer Carl's solution, but I'm tripping up getting it to play nice
with Jenkins. Suggestions appreciated.
(I presume Carl's on the list: If so, thanks very much for the talk -
I'm the guy who sat next to you at the PyCon sprints at one point and
threatened to watch the video of your talk while sitting next to you.)
Jonathan Hartley tartley at tartley.com http://tartley.com
Made of meat. +44 7737 062 225 twitter/skype: tartley
More information about the testing-in-python