Type: New Feature
Affects Version/s: None
Fix Version/s: 2.3.0
Patch, which incorporates Unit Testing into James project infrastructure.
Since there was no reaction on the dev-list since I proposed it a few days ago, I'm uncertain if this is appreciated at all.
I think unit testing could become vital for
+ helping QA
+ supporting refactorings (e.g. relaxing avalon dependencies)
+ testing while implementing new features (like IMAP)
+ reproducing bugs
+ testing fixes
I know that it's a long way to go to reach very good test-coverage.
But there is no risk in starting.
My determination would be to add 2 to 3 test methods per week.
It already helped me a lot understanding how parts of James work, although this is only my first test for this codebase.
The patch utilizes JUnit 3.8.1 (junit.jar) and Ristretto (ristretto-1.0-all.jar, can be found under http://columbo.sourceforge.net) which the build script expects to find under /tools/lib but which are not attached here in the first place.
tests are compiled and run invoking > build run-unit-tests
I'd feel more than happy about comments how to improve this testing infrastructure.