Re: [TFUI] TDD of (ultimately) GUI app built atop a framework via plug-ins?
Hugo Garcia <[email protected]>
| Newsgroups | gmane.comp.programming.test-first-user-interfaces |
|---|---|
| Message-ID | <[email protected]> |
yeah but you are developing in IntelliJ not Eclipse. -H On Mon, 07 Mar 2005 15:02:22 -0800, Kevin Lawrence <[email protected]> wrote: > > 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 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/