As soon as your system is more complex than "Hello World" your tests can not cover all possible execution paths. I'm pretty sure that most software out in the wild has paths that have never been executed....
So if you know/accept this then your tests are not lying to you... they just tell you something different.
And tested code usually is better code because testing forces you to separate concerns, write shorter methods and so on.