Max Ehrmann reference:<p><a href="https://en.wikipedia.org/wiki/Desiderata" rel="nofollow">https://en.wikipedia.org/wiki/Desiderata</a>
Surprising his tweet blew up, one of the goals of tests (TDD) is to validate your software still works after refactoring. This is a key element of being able to change your code quickly and with confidence. Meaning if you couple your tests to the structure of your code, then it's not going to be quick when you restructure.
I'm the only developer on my team concerned about writing tests. I don't have a lot of experience doing it, and I have no one who can review my tests. Is there anything I can do?
I have been a big advocate for testing only the public interface of your code, but sometimes you can't just avoid it, when you have a really complex piece of function, you got to test it to gain confidence.
Other than that, I hope these are not a surprise for anybody who is writing tests on a daily basis.