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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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
> >
>

Reply via email to