On 29 November 2006 at 20:34, "Ivan Popov" <[EMAIL PROTECTED]> 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.) 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 <[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 > > > > > > > > > >
