lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] Commented: (LUCENE-2642) merge LuceneTestCase and LuceneTestCaseJ4
Date Mon, 13 Sep 2010 12:02:32 GMT


Robert Muir commented on LUCENE-2642:

bq. Why not simply extend the Assert abstract class? This would remove use of deprecated old
JUnit3 Framework completely?

I would like to do this under a different issue.

We cannot do this, until all assertEquals(float, float) are changed to use epsilons, for example.

By extending Assert, we can catch all the places we don't use epsilons and fix them, which
is a great improvement, but out of scope of this issue.

> merge LuceneTestCase and LuceneTestCaseJ4
> -----------------------------------------
>                 Key: LUCENE-2642
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Test
>          Components: Tests
>            Reporter: Robert Muir
>             Fix For: 3.1, 4.0
>         Attachments: LUCENE-2642.patch
> We added Junit4 support, but as a separate test class.
> So unfortunately, we have two separate base classes to maintain: LuceneTestCase and LuceneTestCaseJ4.
> This creates a mess and is difficult to manage.
> Instead, I propose a single base test class that works both junit3 and junit4 style.
> I modified our LuceneTestCaseJ4 in the following way:
> * the methods to run are not limited to the ones annotated with @Test, but also any void
no-arg methods that start with "test", like junit3. this means you dont have to sprinkle @Test
> * of course, @Ignore works as expected everywhere.
> * LuceneTestCaseJ4 extends TestCase so you dont have to import static Assert.* to get
all the asserts.
> for most tests, no changes are required. but a few very minor things had to be changed:
> * setUp() and tearDown() must be public, not protected.
> * useless ctors must be removed, such as TestFoo(String name) { super(name); }
> * LocalizedTestCase is gone, instead of
> {code}
> public class TestQueryParser extends LocalizedTestCase {
> {code}
> it is now
> {code}
> @RunWith(LuceneTestCase.LocalizedTestCaseRunner.class)
> public class TestQueryParser extends LuceneTestCase {
> {code}
> * Same with MultiCodecTestCase: (LuceneTestCase.MultiCodecTestCaseRunner.class}
> I only did the core tests in the patch as a start, and i just made an empty LuceneTestCase
extends LuceneTestCaseJ4.
> I'd like to do contrib and solr and rename this LuceneTestCaseJ4 to only a single class:

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message