Hi all,

Are these functional tests invoked as jUnit / TestNG tests? I have written
similar, integration type functional tests with mocks, but they were still
based on jUnit / TestNG. I simply stored them in the same
name>-->test-->src-->java are being used for unit tests. I differentiated
between the two sets through the package names and used profiles to run
these optionally.

Yes they are JUnit tests and the idea of differentiating by package names is definitely one we've discussed. It's interesting to know that someone is using that technique!

My reasoning was that its easiest to stick with the vanilla Maven directory structure as it is a standard. This approach certainly worked for me at the
time.

I think it would definitely work for us as well, but it's an interesting 'gap' in the standard maven project and so we hesitated on which way to go :)

ps: I think you replied directly to me, rather reply to the group email
address.

Apologies for that, I'm using the iGoogle gmail interface, and the reply picks up the user and not the mailing list address first, add my stupidity on top of that and you get "mailing list fail" :)

----------------------------------------
Original post back to Ian
----------------------------------------

Hi Ian,

What is the reasoning beyond the separation of the functional tests? Is it
because you would like to run them separately from your other unit tests? If
so, have you considered using profiles to control what tests are run by
Maven?

The specific purpose in this case is to ensure that we've wired up messaging flow(s) within our module. This is done by sending a mocked event through the various routers/transformers etc that we have. They're not unit tests because they're not testing a discrete bit of functionality within a Java class.

However, it is vital that these tests pass before we package that module, so I we want to run them as part of a the test life-cycle (as opposed to integration-test which is post package) or at least a life-cycle phase that is before package.

I agree that we could use profiles to run this group of tests separately, but I'd like to understand where they should live in the source structure. All of the Maven literature that I have read talks of <module name>-->test-->src-->java being used for unit tests, but tests such as mine fall into a grey area?

-------------------------------------------------------

Thanks again for your insights Ian. Does anyone else follow a different/similar method?

Cheers,
Martijn


On Mon, Mar 2, 2009 at 4:08 PM, martijnverb...@gmail.com> wrote:



> Hi Ian,

>

> > What is the reasoning beyond the separation of the functional tests? Is

> it

> > because you would like to run them separately from your other unit tests?

> If

> > so, have you considered using profiles to control what tests are run by

> > Maven?

>

> The specific purpose in this case is to ensure that we've wired up

> messaging flow(s) within our module. This is done by sending a mocked event

> through the various routers/transformers etc that we have. They're not unit

> tests because they're not testing a discrete bit of functionality within a

> Java class.

>

> However, it is vital that these tests pass before we package that module,

> so I we want to run them as part of a the test life-cycle (as opposed to

> integration-test which is post package) or at least a life-cycle phase that

> is before package.

>

> I agree that we could use profiles to run this group of tests separately,

> but I'd like to understand where they should live in the source structure.

> All of the Maven literature that I have read talks of
> name>-->test-->src-->java being used for unit tests, but tests such as mine

> fall into a grey area?

>

> Cheers,

> Martijn

>

>

> > On Mon, Mar 2, 2009 at 3:33 PM, martijnverb...@gmail.com> wrote:

> >

> >

> >

> > > Hi all,

> >

> > >

> >

> > > I'd like to get opinions from others on how they structure/deal with

> what

> >

> > > we deem 'functional tests'

> >

> > >

> >

> > > To us these are tests that are broader in scope than a unit test but

> whose

> >

> > > scope is still limited to that same module and require no 3rd party

> >

> > > resources to run (we're able to Mock everything we need). Traditionally

> a

> >

> > > Maven structure looks something like:

> >

> > >

> >

> > > foobar

> >

> > > jar

> >

> > > src

> >

> > > main

> >

> > > java

> >

> > > test

> >

> > > java

> >

> > > war

> >

> > > ...

> >

> > > sar

> >

> > > ...

> >

> > > rar

> >

> > > ...

> >

> > > ear

> >

> > >

> >

> > > With the 'test' structure being used for Unit Tests.

> >

> > >

> >

> > > So we're wondering if it was wise to put the functional tests under

> >

> > > jar-->test-->src-->java (perhaps differentiating them by package

> structure)

> >

> > > or introduce a new module (say functional-test) eg

> >

> > >

> >

> > > foobar

> >

> > > jar

> >

> > > src

> >

> > > main

> >

> > > java

> >

> > > test

> >

> > > java

> >

> > > functional-test

> >

> > > src

> >

> > > test

> >

> > > java

> >

> > > war

> >

> > > ...

> >

> > > sar

> >

> > > ...

> >

> > > rar

> >

> > > ...

> >

> > > ear

> >

> > > ...

> >

> > >

> >

> > > Is there a preferred technique/other options that people have used?

> >

> > >

> >

>

Reply via email to