You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Russell Gold <ru...@gmail.com> on 2004/11/16 18:33:54 UTC

task testing style?

The tests I have looked at in ant appear mostly to use a semi-
functional test style: they use xml to define a task, run it, and then
check some results (which may simply be the lack of an error). I am
used to a more unit testing style, in which external classes or
subsystems are stubbed out. For example, for my dependencies task, I
want to confirm that a dependency is downloaded only if it is not
already present, which I do by mocking the fetch mechanism. Is this
approach being used somewhere in ant? Has there been any discussion of
the two approaches to testing?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: task testing style?

Posted by Erik Hatcher <er...@ehatchersolutions.com>.
Both styles of testing have their merits.  There are some mock objects 
in Ant's test infrastructure (MockBuildListener, for example).

The most important thing, of course, is that tests are created that 
ensure that the production code is working as it should.  Sure, there 
are more moving parts in the functional-style.  Ideally there would be 
all flavors of testing in place to ensure all levels are functioning 
appropriately.

There are certainly no objections about incorporating more mock-style 
testing into Ant's codebase.  The more testing the better!

The dilemma I've encountered when folks catch on to mock unit testing 
is that they get carried away with it and try to mock too much 
functionality rather than keeping it focused, at which point you end up 
with mock objects that are so complex that they require their own unit 
tests :)

	Erik

On Nov 16, 2004, at 12:33 PM, Russell Gold wrote:

> The tests I have looked at in ant appear mostly to use a semi-
> functional test style: they use xml to define a task, run it, and then
> check some results (which may simply be the lack of an error). I am
> used to a more unit testing style, in which external classes or
> subsystems are stubbed out. For example, for my dependencies task, I
> want to confirm that a dependency is downloaded only if it is not
> already present, which I do by mocking the fetch mechanism. Is this
> approach being used somewhere in ant? Has there been any discussion of
> the two approaches to testing?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org