harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Deakin <oliver.dea...@googlemail.com>
Subject Re: [general] JUnit consistency, practices
Date Mon, 04 Dec 2006 11:24:52 GMT
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


Mime
View raw message