For the record, just tried to build geotools with Junit 4.4 and it went just well, meaning its seems to actually be backwards compatible. So if its a matter of upgrading the junit dependency, as it means by no reason needing to upgrade the tests, I'd like to do that.
2 cnts. Gabriel On Monday 28 January 2008 03:49:52 pm Gabriel Roldán wrote: > That's indeed very cool Andrea. > I've to say, to support Andrea's proposal, that I've been using > junit4+EasyMock for some time now on another project and its going > perfectly, and indeed provides for a true way of isolating unit tests, and > helps design testable code, etc. > Yet, I don't quite understand why EasyMock wouldn't be able to mock up > interfaces if using Junit 3, they seem unrelated to me, yet never tried to > use easymock with Junit 3. > Though I know by this time Andrea sent an email to the author to confirm. > > Gabriel > > On Monday 28 January 2008 03:32:51 pm Andrea Aime wrote: > > Hi, > > today I tried to fix a bug (http://jira.codehaus.org/browse/GEOT-1693) > > that required fixing DefaultFeatureResults and co. The issue with this > > bug is that one cannot unit test DefaultFeatureResults without > > creating a ton or related classes... unless mock testing is used. > > > > So I gave a spin at EasyMock 2 and... wow! Look at how simple the > > test with the mock object is: > > > > public void testMaxFeatureOptimized() throws Exception { > > DefaultQuery q = new DefaultQuery("roads"); > > q.setMaxFeatures(10); > > > > // mock up the feature source so that it'll return a count of 20 > > SimpleFeatureType type = DataUtilities.createType("roads", > > "_=the_geom:Point,FID:String,NAME:String"); > > FeatureSource fs = createMock(FeatureSource.class); > > expect(fs.getSchema()).andReturn(type).anyTimes(); > > expect(fs.getCount(q)).andReturn(20); > > replay(fs); > > > > DefaultFeatureResults results = new DefaultFeatureResults(fs, q); > > assertEquals(10, results.size()); > > } > > > > Basically I create a mock, set a few expectations on the method > > calls and their return values, and I'm in business. Lovely. > > > > Unfortunately this did not last long. I had to make a similar > > fix in JDBCFeatureCollection, which needs JDBCFeatureSource, > > which in turn is not an interface. And EasyMock + JUnit 3 > > does not allow to mock interfaces... Junit4 is required to > > do so. > > > > I looked around, JMock is there, but imho setting up > > the mock objects is quite a bit more convoluted. > > JUnit4 is apparently supported by both Eclipse and Maven, > > yet I'm a little reluctant upgrading due to the extensive > > amount of tests made using JUnit 3... we have no complaints > > on it and we have a good expertise grown on it... > > > > Soo... what do people think? Opinions? > > Cheers > > Andrea > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Geotools-devel mailing list > > Geotools-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/geotools-devel > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Geotools-devel mailing list > Geotools-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-devel > > !DSPAM:4045,479deba3164881030819293! ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel