I keep hearing/seeing things like this when justifying not writing a lot of automated tests: "tests often end up needing to be rewritten because the implementation changed."
And that's just not my experience at all. Though it does depend on how the word "rewritten" is interpreted. Do I have to restructure tests? Sure, if, for example, I wrap a `long` inside of a `PlayerId` class, then I'm going to have to change any test that uses/expects a `long` [to now use a `PlayerId`].
However, refactoring techniques (at least in Java with IntelliJ IDEA) can make this straightforward, often with no manual code changes.
Does anyone have concrete examples of where tests had to be _rewritten_ because of _implementation_ changes?