I would say that what's most harmful is using code coverage as the primary measure of quality of your tests. It's that mindset that puts coders in a mode where they write tests which upon failure mean nothing significant (unless it finds a runtime error). It's a type of fallacy. Instead of considering if your tests verify your real-world requirements, you feel like your job is done because you have reached 100% line coverage.
It's like following someone's car and congratulating the driver that he drove correctly, without considering if he reached the correct destination.
It's like following someone's car and congratulating the driver that he drove correctly, without considering if he reached the correct destination.