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 Tue, 19 Dec 2006 15:30:53 GMT
Folks,
Have we decided anything consistent about having main() method in
JUnit tests? I've just created one test. Should I add a main() method?

Any decision is better than no decision.


On 12/12/06, Oliver Deakin <oliver.deakin@googlemail.com> wrote:
> That's great, thanks Sveta. Yes, I think this is definitely something to
> add to the main
> website eventually - a full set of instructions (expanding the current
> links to mail
> archives into their complete command lines etc.) would be really useful
> for any
> first time Harmony developer (and some of us longer lived ones ;) )
>
> Regards,
> Oliver
>
> Konovalova, Svetlana wrote:
> > I've just created the "Running the Classlib Tests" page [1], so that you
> > could share your experience there :)
> >
> > In the future we could add this stuff to the web-site, let's say, to the
> > testing page [2], where certain package-specific conventions are
> > proposed, but nothing is said about JUnit tests.
> > What do you think?
> >
> > [1] http://wiki.apache.org/harmony/RunningTheClasslibTests
> > [2] http://harmony.apache.org/subcomponents/classlibrary/testing.html
> >
> > Best regards,
> > Sveta
> >
> > -----Original Message-----
> > From: Geir Magnusson Jr. [mailto:geir@pobox.com]
> > Sent: Wednesday, December 06, 2006 4:32 PM
> > To: dev@harmony.apache.org
> > Subject: Re: [general] JUnit consistency, practices
> >
> > +1
> >
> > Konovalova, Svetlana wrote:
> >
> >> IMHO we can start collecting info about running the classlib tests.
> >> I suggest to create a new wiki page, let's say, "Running The Classlib
> >> Tests" and add a link to it front the wiki front page > components >
> >> class library.
> >> ASA we get the clear picture of this issue and verify all the ways to
> >> run tests, we'll be able to post this info on the web-site.
> >> Want do you think?
> >> I'd be glad to help.
> >>
> >> Best regards,
> >> Sveta
> >>
> >> -----Original Message-----
> >> From: Alexei Zakharov [mailto:alexei.zakharov@gmail.com]
> >> Sent: Tuesday, December 05, 2006 5:25 PM
> >> To: dev@harmony.apache.org
> >> Subject: Re: [general] JUnit consistency, practices
> >>
> >> +1 for having the doc. But personally I don't know the way how to run
> >> tests from the particular test class (not to speak of individual test
> >> methods) using the current build system. So I don't really know what
> >> exactly should be copy/pasted.  Or you was talking about by-hand test
> >> invocation cmd mentioned above?
> >>
> >> Thanks,
> >>
> >> 2006/12/5, Tony Wu <wuyuehao@gmail.com>:
> >>
> >>> Agree! When I tried harmony on some applications, I found it is very
> >>> hard to run the test of application mainly because there is no
> >>> instruction for that at all. So I think it is also not very easy for
> >>> user who have interest to run tests of harmony. And a good
> >>>
> > instruction
> >
> >>> may be good for having many user's help to run harmony tests on
> >>> various platforms.
> >>>
> >>> On 12/4/06, Oliver Deakin <oliver.deakin@googlemail.com> wrote:
> >>>
> >>>> Perhaps some kind of "How To Run The Classlib Tests" section on
> >>>> the website would be useful? (Assuming there isn't already one with
> >>>> this information in) Then none of us would have to remember - it
> >>>> would be right there to copy/paste :)
> >>>>
> >>>> Regards,
> >>>> Oliver
> >>>>
> >>>>
> >>>> Ivan Popov 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.
> >>>>>
> >>>>> 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
> >>>>>>>>
> >>>>>>>>
> >>>> --
> >>>> Oliver Deakin
> >>>> IBM United Kingdom Limited
> >>>>
> >>>>
> >>>>
> >>> --
> >>> Tony Wu
> >>> China Software Development Lab, IBM
> >>>
> >>>
> >>
> >
> >
>
> --
> Oliver Deakin
> IBM United Kingdom Limited
>
>


-- 
With best regards,
Alexei,
ESSD, Intel

Mime
View raw message