2 ms·
I think what made this work for us at work is that we (maybe accidentally) made refactoring very cheap and easy. We write almost entirely integration tests that
by bvirb 4y ago
I think what made this work for us at work is that we (maybe accidentally) made refactoring very cheap and easy. We write almost entirely integration tests that only interact w/ the UI, so not much about the tests is tied to our architecture (instead they're coupled to the UI). The tests run slower than typical highly optimized unit tests of course, but the trade-off is that we can refactor things without breaking the validation that everything still works. This then makes continuous improvement a lot easier to realize than I have experienced in the past, since changing our minds is relatively painless.
- oa335 4y agoThis is why I like writing end-to-end tests first (and often times the only thing I write). Unit tests come later after I have decided on solid, reusable lower level abstractions. Unittesting to early makes refactoring too hard.