Breaking Changes – How?

time to read 1 min | 173 words

I need to make a radical change to an application. This change is basically ripping apart a major piece of the infrastructure and replacing it with another piece, which has a different API, usage and capabilities.

I’m currently thinking about how I should do it. I got tests for the code, of course, but I don’t know how I can move it to the other infrastructure with the tests intact. My worry is that I can make the move, and then break each and every tests that relies on the infrastructure to exists (~140 tests, I think). This is a big problem because I will need to change both tests and code just in order to get the code to compile again.

I’m not going to remove the tests, since they test functionality that is needed for the application, so at the end of the conversion, I know that I am at the same point that I was before I started all of this.

If anyone has any ideas, I would love to hear them.