|
I've recently started a new contract where they use Apache trac, Maven, EasyMock (mock out objects for unit test), and Continuum (continuous integration) and plunged head deep into the world of test-driven development. In the past, I've had my fair share of experiences with JUnit writing "send this - get this back" type of integration/unit test, but this does not compare to the amount of time I'm spending on writing unit, external integration, internal integration, and functional type of tests. While I understand there purposes, I am also noticing an ugly side to it where programmers are reluctant to refactor code (that should be refactored) because of the amount of test code that must be modified.
I was wondering how are your projects set up for testing/packaging for release/etc? Your tip on deterministic programming is a great way to capture bugs, but do you guys have any other tips on keeping your project organized and under control?
Thanks for your time!
|