Testing is something I do a lot, and like talking about a lot as well. There are no hard and fast answers to testing, like other stuff, there are lots of opinions(they are like assholes, everyone has them, and the others' stinks) about testing. So here goes mine(not necessarily correct, but worth putting them here). I am putting them as one liners, let me know your thoughts.
1. What do you mean by unit in unit tests?
An implementation of very basic feature, probably not more than 100 lines of code.
2. What do you test when you write a unit test?
We test the basic correctness, eg. given a url, if it exists assert 200, if not assert 404.
3. What should not be tested?
The inbuilt libraries should not be tested. Eg. If you are using a library say django, you should assume it comes pre tested and should not spend time writing tests for them.
4. What should be the depth of the tests?
There are no rules, but you should stop when you feel like you are humming inception theme.
If you want to read in slight more detail its http://www.blog.fruiapps.com/2012/09/An-intro-tutorial-to-te...