What are the best practices for testing "different layers" in Django? Really..
===

I'm **NOT** new to testing, but got really confused with a mess of recommendations for testing different layers in Django.

Some recommend (and they are right) to avoid **Doctests** in the model as they are not maintainable. 

Others say don't use **fixtures**, as they are less flexible than **helper functions**, for instance.

There are also two groups of people who fight for using **Mock** objects. The first group believe in using Mock and isolating the rest of the system, while another group prefer to  **Stop Mocking and start testing** ..

All I have mentioned above, were mostly in regards to testing models. **Functional testing** is an another story (using test.Client() VS webTest VS etc. )


Is there **ANY** maintainable, extandible and proper way for testing different layers?  
    