It doesn't need to be perfect to be perfectly useful.
Not testing because it can't be perfect is a fallacy.
Not testing because it can't be perfect is a fallacy.
A good unit test should be written with the mindset of a hacker - how can I break it - rather than just a few assertions. It's not easy to do, and that's why there's so much bad stuff.