testrepository iteration for python projects
Tesetrepository has a really nice workflow for fixing a set of failing tests:
- Tell it about the failing tests (e.g. by doing a full test run, or running a single known failing test)
- Run just the known failing tests (testr run –failing)
- Make a change
- Goto step 2
As you fix up the tests testr will just give your test runner a smaller and smaller list of tests to run.
However I haven’t been able to use that feature when developing (most) Python programs.
Today though, I added the necessary support to testtools, and as a result subunit (which inherits its thin test runner shim from testtools) now supports –load-list. With this a simple .testr.conf can support this lovely workflow. This is the one used in testrepository itself: it runs the testrepository tests, which are regular unittest tests, using subunit.run – this gives it subunit output, and tells testrepository how to run a subset of tests.
test_command=python -m subunit.run $IDOPTION testrepository.tests.test_suite