Yeah, unit tests are best done with the underlying objects rather than the GUI itself. Testing the GUI is hard - but that's OK, as testing the non-GUI code is already a great thing to do.
A couple of great books on unit testing: - "Working Effectively with Legacy Code" by Michael Feathers - "Test-Driven Development" by Kent Beck. Jon > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On > Behalf Of Sunburned Surveyor > Sent: Monday, June 25, 2007 11:53 AM > To: List for discussion of JPP development and use. > Subject: [JPP-Devel] How do you write a unit test for a > method like this? > > > I have realized how important unit tests are in my > development. This is something I learned the hard way after > many hours of debugging something that could have been caught > in a unit test. > > However, I seem to be running into an obstacle when I try to > write unit tests with a lot of my work for OpenJUMP. It seems > that a lot of my methods deal with GUI components or > interaction with GUI components, and that the creation of > unit tests for these methods would involved either [1] the > creation and intialization of a great deal of JUMP's GUI and > supprting classes for a single unit test, or [2] the need to > create "mock" objects for the unit test that mimic some > aspect of these GUI components involved in the test. (Note > that these tests must have the same name as the actual JUMP > object and must then by necessity be kept in a separate IDE project . > > It seems that at some point I run up against the law of > diminishing returns. There is so much effort required to > dummy up mock objects for the unit test that I might as well > let the live execution of the program be the test itseld. It > seems like unit tests are cut out for smaller and less GUI > involved methods. > > For example, in my work on the pluggable rendering system for > OpenJUMP I have a plug-in that installs a > RendererFactoryTool. The initialize() method for that plug-in > class obtains an array of child components belonging to the > JUMP workbench and then adds a container listener to each of > these children that is an instance of the TaskFrame class. > Should I be writing a unit test for this method? That is > going to involve writing a dummy workbench object and a dummy > task frame object. Is this worth the work? > > I'm looking for some general guidelines on when I should > write a unit test for GUI-involved methods. I'm hoping some > of the more experience OpenJUMP developers may be able to > give me some insight on this. > > Thanks, > > The Sunburned Surveyor > > -------------------------------------------------------------- > ----------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and > take control of your XML. No limits. Just data. Click to get > it now. http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel