Re: [TFUI] TDD of (ultimately) GUI app built atop a framework via plug-ins?
Kevin Lawrence <[email protected]>
| Newsgroups | gmane.comp.programming.test-first-user-interfaces |
|---|---|
| Message-ID | <[email protected]> |
Two things come to mind : 1. Read up on Humble Dialog as an approach to building the UI. 2. Keep your UI code separate from the code that integrates with eclipse. I aim to end up with just enough code in the class that extends Plugin to kickstart my app (as I would in a main() method). Same thing with the views and the actions - I treat my XXXView class as a thin wrapper around my real view which is pure SWT/JFace. I should note that this approach is different from the approach described in the Beck/Gamma book where they run their JUnit tests using the JUnit Plugin Thingie which starts a whole runtime workspace. My tests are much more localized and run independently of eclipse. Kevin Al Chou wrote: > Cool! Any tips/tricks/gotchas a beginner on this path should be aware of? > > Al > > > --- Kevin Lawrence <[email protected]> wrote: > >>I am doing exactly that now. >> >>I have four layers : >> >>My application. >>The Humble Dialog-style controller for the UI. >>The UI in SWT. >>The eclipse plugin. >> >>The SWT layer is thin. The eclipse plugin layer is positively anaemic. >> >>Kevin >> >>Al Chou wrote: >> >>>Thanks for that detailed post, Hugo. >>> >>>A follow-on question for all: have any of you TDD'ed with Eclipse (or any >>>other plugin-based platform, e.g., FreeRIDE or maybe even jEdit) where you >>>treated the GUI as a thin layer over a more command-line-oriented UI/API >> >>and >> >>>your TDD tests were written at that layer (Michael Feathers' "humble dialog >>>box" technique?)? >>> >>> >>>Al >>> >>> >>>--- Hugo Garcia <[email protected]> wrote: >>> >>> >>>>On Fri, 4 Mar 2005 14:49:26 -0800 (PST), Al Chou <hotfusionman-/[email protected]> >>>>wrote: >>>> >>>> >>>>>I want to build an application that should have a GUI. I want to build it >>>> >>>>atop >>>> >>>> >>>>>a framework like Eclipse or FreeRIDE that will allow me to essentially >>>> >>>>provide >>>> >>>> >>>>>the custom functionality I need by creating plug-ins for the framework. >>>> >>>>The >>>> >>>> >>>>>app isn't an IDE or text editor, so I think I'm going to be stripping down >>>> >>>>the >>>> >>>> >>>>>framework to its core that supports plug-ins (e.g., start with Eclipse >>>> >>>>Platform >>>> >>>> >>>>>rather than Eclipse SDK) and building up from there. >>>>> >>>> >>>>Seems like what you want is to develop a Rich Client Platform >>>>application. If you use the latest milestone build (3.1M5) then you >>>>get the basic wizards that create the starting points for you. The >>>>lastest tutorials at EclipseCon 2005 has the latest startup pointers >>>>that are relevant to 3.1. Also the RCP homepage tutorials are a great >>>>starting place. >>>> >>>>You can get all those links at my blog at >>>> >>>>http://fitsterandeclipse.blogspot.com/ >>>> >>>> >>>> >>>>>I want to do TDD for this project, and I think the app should be usable >> >>via >> >>>>the >>>> >>>> >>>>>command line or some similar scripting interface in addition to its GUI. >>>> >>>>Here it depends what kind of TDD you want to do. If you are planning >>>>on the black box type (aka junit) then you are in luck since the PDE >>>>comes with a juinit plugin. To use it, read chapter 12 of Contributing >>>>to Eclipse and onwards. Also Chapter 2 of Building Commercial-Quality >>>>Plugins. >>>> >>>>On the other hand if you want to do functional testing then you are >>>>kind of in and out of luck. There is basically only one tool for now, >>>>Abbot at http://abbot.sourceforge.net/ BUT there are certain caveats >>>>in using it: 1) You have to limit your development testing to windows >>>>version since it doesn't quite work with GTK yet and 2) in order to >>>>use it you have to use a hacked version of the SWT distribution. But >>>>apart from that it is usable. Browse the email list for abbot since >>>>there is a very good recent email explaining the whole mess. >>>> >>>>If this is your first time approaching Eclipse GUI development then I >>>>strongly suggest you build it as a standalone SWT/JFace application. >>>>This will familiarize you with the basic widget architecture which is >>>>very different from Swing (read true MVC). Once you have your spkie >>>>going then it is a matter of refactoring the app into a plugin but you >>>>gain the opportunity that maybe this is all you need and also you can >>>>concentrate on just the learning factor of the plugin development >>>>cycle per. >>>> >>>> >>>> >>>>>Anyone out there have any experience or advice on how to approach such a >>>>>project? >>>> >>>>Good Luck. >>>> >>>> >>>> >>>>>Al >>>>> >>>>>===== >>>>>Albert Davidson Chou >>>>> >>>>> Get answers to Mac questions at http://www.Mac-Mgrs.org/ . > > > > To unsubscribe, email: > TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org > > Yahoo! Groups Links > > > > > > > To unsubscribe, email: TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/TestFirstUserInterfaces/ <*> To unsubscribe from this group, send an email to: TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/