I think that convention makes sense for views, since one view function does a lot of stuff and may need a bunch of different tests, but I don't think it makes sense for things like helper tests where each function does one thing.

And in the case of models, it would lead to very strange things like having multiple test classes for one model class, when it clearly makes more sense to have one test class per one model class. In fact, I think a better general rule is one class: one test class. The only reason this doesn't work for views is that we aren't using class based views, so our views.py end up as a bunch of really big functions. Class-based views are probably better for organization, but I don't think changing all of our views to class-based is worthwhile...

Bottom line is, I don't think it's worthwhile to pad every test file with one-class-per-function-tested, UNLESS you are testing really big functions with multiple tests. In that case, absolutely it makes sense.