I'm almost at the point where I'm ready to give up on integration
tests, particular of the web interface layer.  (I will still do
integration testing of the db layer, because hibernate is just too
complicated with respect to cascading and transients to avoid it.)  I
blogged a little about this here:

http://www.42lines.net/blog/clint/do-we-need-integration-testing

which was sort of inspired by reading this by J.B. Rainsberger, which
really resonated for me:

http://www.jbrains.ca/permalink/239

a while back.  When we do wicket integration tests, we do them with
jdave (which I highly recommend) but on new work I'm considering
officially _not_ doing them and focusing that energy and time on
better unit testing with mocks.

With all things, it depends on the project, and I won't preach
_against_ integration testing necessarily.  I'll just say that I burn
too much time running them, fixing them when the UI changes, and they
cover only a tiny percentage of possible UI scenarios, particularly
when AJAX comes into play, so I doubt whether they're cost effective.

And FWIW, this has been true for me under Wicket, JSF, Struts, and
plain jsp, for 8 years.  So either I'm really poor at it, or I'm
really slow at recognising a pattern :)

-Clint

On Tue, May 12, 2009 at 7:36 PM, Kent Larsson <kent.lars...@gmail.com> wrote:
>
> Hi,
>
> For my last project (not using Wicket) I used HtmlUnit to simulate a
> web browser and for each use case go through all the important
> branches. It worked well and the system test caught a lot of errors as
> it exercised the whole system quite thoroughly.
>
> I had a common base class for my JUnit based HtmlUnit tests where I
> had defined helper some methods which made the tests read pretty much
> like normal English (ie clickButton, fillTextField etc).
>
> That project was not heavy on JavaScript, at all. In fact it only had
> some JavaScript in a couple of very special places. And for those
> cases HtmlUnit worked flawlessly.
>
> For this project, which is using Wicket, there will be more JavaScript
> and AJAX behavior. At the moment it's the normal AJAX which Wicket is
> able to generate. Later on there will defenitely be even more and we
> will most likely integrate the application with jQuery or MooTools.
>
> I've been reading some more. Earlier I dismissed Selenium but it's
> looking more attractive to me now. Being able to take screenshots at
> certain places might come in handy as it will make it easier to see
> that the layout is consistent over different browsers. Also the
> WebDriver* looks like a nice way to write the tests, equally nice to
> my way using helper methods.
>
> * http://google-opensource.blogspot.com/2009/05/introducing-webdriver.html
>
> If you do not have any test which acts on the presentation layer (ie
> from the "outside", as a real web browser [Selenium or others] or a
> simulated one [HtmlUnit and others]) could you explain why not?
>
> If you have these sorts of tests:
>
> How do you decide on what to test? (I went with use cases and the most
> important paths within them)
>
> Which technology do you use for the tests?
>
> What pros and cons do you see with your way of doing things?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>



--
Clint Popetz
http://42lines.net
Scalable Web Application Development

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to