What is a good technique to order tests such that the complicated, far reaching stuff is run after the basics?
No comments on Kurt's blog, so I'll have to try to answer here. That sounds like integration (not unit) testing to me and cries out for doctest, which lets you build up the complexity of your test suite as you go and guarantees that tests are run in the listed order. With unittest your best bets are to name tests so they cmp() predictably, or subclass TestLoader and implement your own test ordering (sorting) algorithm. The latter also gives you control over which tests get added to your suite.