jakarta-cactus-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cumbers <r...@kent.ac.uk>
Subject Re: Define order of tests
Date Sun, 16 Jan 2005 12:42:06 GMT
Hey Vince,

Thanks for the reply, I clean forgot about the JUnit Suite feature!

As for the reason for defining the order of tests, my logic is as follows:

I have a package of classes that retrieves data from the data base, for 
this explanation call that class CompanyAction.java This retrieves data 
based using a variety of SQL statements, depending on the method call. I 
test this by having known data in a database, and so through my 
assumptions that the data will not change (Only I have the password) I 
can assertEquals() that the data I retrieve from the database is correct 
and therefore the class is working correctly.

I also have a package of classes that inserts/updates data into the 
database, say CompanyStorer.java This class does exactly as you would 
expect, inserts new data, and updates existing data. I create Company 
data to insert and invoke the relevant method. Now here comes my 
reasoning for defining the order of tests:

If I run the CompanyActionTest class first, this gives me proof that the 
class CompanyAction works as expected within my system. If I 
subsequently run the CompanyStorerTest class I could in theory use the 
CompanyAction class to retrieve the inserted data, knowing that it 
functions correctly.

Of course I could just use my JNDI datasource within the test class and 
execute an SQL statement to get the same data, but I figured that as I 
can verify that CompanyAction works as expected it is best to use that.

So now I have filled in a little bit on what I want to do, would you say 
that I have a valid case for defining an order, or would you go with 
using my JNDI datasource in each test case to determine if data in the 
database is as expected?

Cheers

Rich

Vincent Massol wrote:
> Hi Rich,
> 
> Just use the Suite feature of JUnit. See the JUnit FAQ.
> 
> Basically you create a suite in a static suite() method and add the tests
> you wish to the suite, in the order you wish to execute them.
> 
> All that said, it's not good to have any order (tests should be independent
> of each other) and I don't understand why you absolutely need one. You could
> use a fixture instead, ensuring that each tests has a correct setup before
> it runs.
> 
> Thanks
> -Vincent
> 
> 
>>-----Original Message-----
>>From: Cumbers [mailto:rlc5@kent.ac.uk]
>>Sent: vendredi 14 janvier 2005 19:00
>>To: Cactus Users List
>>Subject: Define order of tests
>>
>>Hey guys
>>
>>I have a need to specify the order in which the tests for cactus are
>>executed as one class I have defines retrieving data from the database,
>>and another class defines storing data to the database. I would like the
>>class that retrieves data to be run first, allowing this class to be
>>'verified' as returning the correctly requested data. Then I would like
>>to run the 'storing' class and then as a test of that use the
>>'retrieving' class to verify that the stored data was indeed stored. I
>>am using ant integration if that is on any assistance.
>>
>>Cheers
>>
>>Rich
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: cactus-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: cactus-user-help@jakarta.apache.org
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cactus-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: cactus-user-help@jakarta.apache.org
> 

Mime
View raw message