My former skip level manager was bad for this. He told everyone they are not allowed to squash commit and that they should commit every work day. He was located in another city from my team and this was how he checked to see who was a slacker.
When one of my co-op student's term ended he wanted to hire him full-time because he thought he was a rock-star from his high number of commits. In reality the student wasn't very good and we just gave him simple tasks to write unit tests. He wasn't even good at writing unit tests because when he was unsure about edge case behavior he would just see what the function currently outputs and then write a test to expect that result. The worst is when a unit test would start to fail so he'd change the existing test to expect the wrong result.
Before anyone asks, I eventually left the company and I did repeatedly tell the student how to write better unit tests in his code reviews.
When one of my co-op student's term ended he wanted to hire him full-time because he thought he was a rock-star from his high number of commits. In reality the student wasn't very good and we just gave him simple tasks to write unit tests. He wasn't even good at writing unit tests because when he was unsure about edge case behavior he would just see what the function currently outputs and then write a test to expect that result. The worst is when a unit test would start to fail so he'd change the existing test to expect the wrong result.
Before anyone asks, I eventually left the company and I did repeatedly tell the student how to write better unit tests in his code reviews.