harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <g...@pobox.com>
Subject Re: [general] JUnit consistency, practices
Date Tue, 19 Dec 2006 15:39:19 GMT
My POV is that people don't have to create them, but if someone put one 
in because for whatever reason, they found it useful, leave it alone if 
it's not getting in the way

geir

Alexei Fedotov wrote:
> 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
>>
>>
> 
> 

Mime
View raw message