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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.