Tests are hard. The goal is to write a little bit of stuff that finds bugs in your code, you don't want to write unit tests so complex that they have bugs. Charles (Luke) Lee breaks down some of the challenges, and gives solutions. Video from PyTexas 2014.
I have an entire rant about mocks, but that will wait for a later blog post.
How to write dumber tests