harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mishura, Stepan M" <stepan.m.mish...@intel.com>
Subject RE: Test suite layout
Date Thu, 12 Jan 2006 13:06:54 GMT
Tim Ellison wrote: 
>
>We would have written it as java.io.tests, but the java.<whatever>
>namespace is reserved, so the formula is simply
>
><package>.<type>  ->   org.apache.harmony.tests.<package>.<type>Test
>

Placing classes and tests for them in different packages won't allow
testing package access functionality.

>
>Then within the test class itself the methods are named after the
method
>under test, with a familar JNI-style encoding,  so we have things like:
>

I agree that method names should have meaningful name. But using
JNI-style shouldn't be a mandatory rule for naming test methods. Because
this may result in
creatingLveryLlongLandLhardLtoLreadLandLunderstandLmethodLname.
For example, KerberosTicket class constructor has 11 parameters.

Thanks,
Stepan Mishura
Intel Middleware Products Division

>-----Original Message-----
>From: Tim Ellison [mailto:t.p.ellison@gmail.com]
>Sent: Thursday, January 12, 2006 5:27 PM
>To: harmony-dev@incubator.apache.org
>Subject: Test suite layout (was: Re: regression test suite)
>
>What we've tended to do, internally, is to name the testcases after the
>type they are testing, so all unit tests for java.io.File are put into
a
>tests package ending with java.io in a type called FileTest that
extends
>the junit.framework.TestCase.
>
>We would have written it as java.io.tests, but the java.<whatever>
>namespace is reserved, so the formula is simply
>
><package>.<type>  ->   org.apache.harmony.tests.<package>.<type>Test
>
>This makes it clear what is being tested, and where to add new tests
etc.
>
>Then within the test class itself the methods are named after the
method
>under test, with a familar JNI-style encoding,  so we have things like:
>
>org.apache.harmony.tests.java.io.FileTest contains
>	public void test_ConstructorLjava_io_FileLjava_lang_String() {
>	...
>	}
>
>and
>
>org.apache.harmony.tests.java.lang.FloatTest contains
>	public void test_compareToLjava_lang_Float() {
>	...
>	}
>
>
>If the test is added due to a regression, then it is put into the right
>place in the test suite, and flagged with a comment (i.e. a reference
to
>the Harmony JIRA number).
>
>Regards,
>Tim
>
>
>George Harley1 wrote:
>> Hi,
>>
>>
>>>I think that regression tests should be marked in some way.
>>
>>
>> Agreed.  But can we please *resist* the temptation to do this by
>> incorporating JIRA issue numbers into test case names (e.g. calling
unit
>> test methods test_26() or test_JIRA_26()). I've seen this kind of
>approach
>> adopted in a couple of projects and, in my experience, it often leads
to
>> the scattering of duplicated test code around the test harness.
>>
>> Better, methinks, to either create a new test method with a
meaningful
>> name or else augment an existing method - whatever makes more sense
for
>> the particular issue. Then marking certain code as being for
regression
>> test purposes could be done in comments that include the URL of the
JIRA
>> issue. Perhaps an agreed tag like "JIRA" or "BUG" etc could be used
as an
>> eye-catcher as well ?
>> e.g.
>>
>> // BUG http://issues.apache.org/jira/browse/HARMONY-26
>>
>>
>> My 2 Euro Cents.
>>
>> Best regards,
>> George
>> ________________________________________
>> George C. Harley
>>
>>
>>
>>
>> "Mishura, Stepan M" <stepan.m.mishura@intel.com>
>> 12/01/2006 04:56
>> Please respond to
>> harmony-dev@incubator.apache.org
>>
>>
>> To
>> <harmony-dev@incubator.apache.org>
>> cc
>>
>> Subject
>> RE: regression test suite
>>
>>
>>
>>
>>
>>
>> Hello,
>>
>> Tim Ellison wrote:
>>
>> [snip]
>>
>>>What is the useful distinction for regression tests being kept
>>
>> separate?
>>
>>>I can see that you may distinguish unit and 'system-level' tests just
>>>because of the difference in frameworks etc. required, but why do I
>>
>> care
>>
>>>if the test was written due to a JIRA issue or test-based development
>>
>> or
>>
>>>someone who get's kicks out of writing tests to break the code?
>>>
>>
>>
>> I agree that separating regression tests doesn't make sense.
>> However I think that regression tests should be marked in some way.
>> This will signal a developer that a test was created to track already
>> known issue. IMHO, a regression test should point out to a bug report
>> and a bug report (after resolving a bug) should contain a reference
to
>> corresponding regression test in repository.
>>
>> Thanks,
>> Stepan Mishura
>> Intel Middleware Products Division
>>
>>
>>
>
>--
>
>Tim Ellison (t.p.ellison@gmail.com)
>IBM Java technology centre, UK.

Mime
View raw message