harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Fedotov" <alexei.fedo...@gmail.com>
Subject Re: [general] JUnit consistency, practices
Date Thu, 30 Nov 2006 02:01:31 GMT
Let me clarify my point a bit - I don't think we should remove main()
from all tests now having (-1) people aboard. This is not a big deal
anyway compared to 96 open JIRA issues on Swing.


On 11/29/06, Paulex Yang <paulex.yang@gmail.com> wrote:
> Mark Hindess wrote:
> > On 29 November 2006 at 20:34, "Ivan Popov" <ivan.g.popov@gmail.com> wrote:
> >
> >> Alexei,
> >>
> >> I agree that it is still possible to run JUnit tests from command line
> >> even without having main() in the code. But I think it is easier to
> >> run test by convenient way
> >>
> >>   $ java -cp junit.jar TestClass
> >>
> >> rather than in a more complex manner
> >>
> >>   $ java -cp junit.jar junit.textui.TestRunner TestClass
> >>
> >> Actually, I constantly forget the right spelling of the full class
> >> name for TestRunner class and have to look into JUnit doc to specify
> >> proper name for such a command line.
> >>
> >> Also, it would be inconvenient if
> >> someone runs test from an IDE that does not support JUnit environment,
> >> but launches test as a usual Java application.
> >>
> >> I don't insist on adding main() to each JUnit testcase, but I see no
> >> reason for removing this functionality from those test where it
> >> already exists.
> >>
> >
> > Whatever we do, main() should either be in all tests or none.  Having it
> > in only a subset is *much* too confusing.
> >
> > I don't care if we have main() in testcases or not.  (I personally will
> > never use it and don't find remembering[0] the junit test runner class.)
> >
> +1 to keep a consistent style.
> > Regards,
> >  Mark.
> >
> > [0] I remember it by writing it in a shell script because I have a
> > terrible memory.
>
> > Thanks.
> > Ivan
> >
> > On 11/29/06, Alexei Fedotov <alexei.fedotov@gmail.com> wrote:
> >
> >>> Ivan, Stepan,
> >>>
> >>> I personally set +1 for removing main() method. Any script or command
> >>> line can be trivially modified to launch JUnit tests without main()
> >>> method: one should just add junit.textui.TestRunner class before a
> >>> test class name.
> >>>
> >>> $ java -cp junit.jar junit.textui.TestRunner TestClass
> >>>
> >>> I'm writing this trivial thing here because during our work on class
> >>> library test enabling it was FAQ N1 for all C/C++ developers.
> >>>
> >>> Note, any JUnit test won't work without junit.jar anyway. If you have
> >>> junit.jar, you have a standard test runner, which is also quite
> >>> lightweight.
> >>>
> >>> --
> >>> Thank you,
> >>> Alexei
> >>>
> >>> On 11/29/06, Ivan Popov <ivan.g.popov@gmail.com> wrote:
> >>>
> >>>> -1 for removing main().
> >>>>
> >>>> I often run individual tests from command line or using scripts and
> >>>> it's easier to launch them as a usual Java application. Also, this
> >>>> facilitates creating separate bundle with test to attach to a bug
> >>>> report or send to other people, who can just run it from command line
> >>>> or use script with the all required options already specified, instead
> >>>> of setting IDE for this test.
> >>>>
> >>>> Thanks.
> >>>> Ivan
> >>>>
> >>>> On 11/29/06, Nathan Beyer <nbeyer@gmail.com> wrote:
> >>>>
> >>>>> There is a large amount of inconsistency across the tests and I'd
like
> >>>>> to lobby for cleaning them up as much as possible. I'm of the opinion
> >>>>> that test code should be clean, simple and transparent. Here are
some
> >>>>> of the more noticeable items that I'd like to cleanup.
> >>>>>
> >>>>> * Empty setUp/teardown methods - There are a number of tests that
> >>>>> override setUp and/or teardown methods, but are either empty or
just
> >>>>> call the super implementation.
> >>>>>
> >>>>> * Singleton suite methods - There are some tests that contain a
static
> >>>>> "suite" method that creates a TestSuite and adds one test (the test
> >>>>> class it's declared in). Are there any practical uses for these
> >>>>> methods? TestSuites are for grouping together tests to treat them
as
> >>>>> one unit. Since these suites are just one test, it doesn't seem
to
> >>>>> provide much value.
> >>>>>
> >>>>> * main method launching text runner - There are some tests that
> >>>>> contain "main" methods which run the enclosing test via a JUnit
text
> >>>>> runner. Most IDEs have built-in support for JUnit and can launch
any
> >>>>> test arbitrarily and Ant can do the same thing. Does anyone launch
> >>>>> tests via these methods?
> >>>>>
> >>>>> My proposal would be to clean up these inconsistencies by eliminating
> >>>>> them, but what does everyone else think?
> >>>>>
> >>>>> -Nathan
> >>>>>
> >>>>>
> >
> >
> >
> >
>
>
> --
> Paulex Yang
> China Software Development Lab
> IBM
>
>
>


-- 
Thank you,
Alexei

Mime
View raw message