I’ve taken my first baby steps into Unit Testing and, due to a better understanding of the domain, have made a change to a domain model that has broken a unit test. So this brought up the question:
When is it permissible to change previously working unit tests?
I figure I’m missing an important aspect of unit testing in having to ask this question…
For ‘proper’ TDD you change the test first, then change the code.
So actually you never have broken tests, only broken code. You should always strive to be in a position where the tests are the definitive expression of correct functionality, and as such are, a priori, correct.