I think this is worse than changing code that has been field tested but admit I am biased because I work on a large project where we are beginning to run into this problem.
The power of automated testing is really to ensure that nothing changes, which is great when doing bug fixes, but not so great for actually evolving software.
Ultimately it just becomes easier to add new code than it is to ever change a design that is already in place.
I was talking about a regression test for a fix for a bug found in production. For a typical backend, write such tests against the publicly exposed API.
If you end up breaking tests as you refactor it means that you have broken backwards compatability for others who use the API...
To put it another way, if you never break your tests you can only ever fix bugs or add more code -- you can never remove code or redesign.
We've got a weird situation where the best (best potential) devs are not financially incentivized to reach that potential, the money is in being a locust, showing up, devouring all local resources and then moving on to the next green field.
I constantly re-writing and re-organization code as the problem changes but I feel like that's the exception rather than the norm. We need to teach that change is good and a normal part of the process.