Background.
I recently got back into Java being inspired by the growth of the Android platform and Java’s close link to it. I needed a refresher tutorial on Java and Eclipse and found “Eclipse and Java for Total Beginners” which after getting over my pride and reviewing the first couple of lessons is just what I needed. This very well thought out and produced tutorial also gives an excellent introduction to “Test Driven Development”. Another benefit.
The Problem.
The tutorial is based based on JUnit-3. I installed the more up-to-date JUnit-4 and the Eclipse “JUnit Test Suite” wizard BLEW UP! :..)… I googled “eclipse JUnit 4 Test Suite wizard problem” and concluded that it seems to be well known, so I thought I’d publish my work-around here.
The Work-Around.
The specific variable names in the work-around are based on the tutorial code. You can see what the tutorial recommended by going to Lesson- 8 at about 10min:50sec. Here is the work-around:
-in Package Explorer View TotalBeginner/test rclick org.totalbeginner.tutorial new.other.Java.JUnit.JUnitTestSuite wizard dialog comes up -next, press Finish to select default of (BookTest, PersonTest) creates a new class AllTests -*** wizard will say ***: Warning: No test classes selected *** because i use JUnit-4 Wizard needs JUnit-3 *** -click Finish anyway -Fix wizard generated code 1. delete everything from the wizard code EXCEPT the package definition in this case: package org.totalbeginner.tutorial; 2. put in something like the following code 2.1 here's the code: @RunWith(Suite.class) @Suite.SuiteClasses(value={BookTest.class, PersonTest.class}) public class AllTests {} 2.2 Change/Add to the example "BookTest.class" & "PersonTest.class" items, appropriate items for your situation. 2.3 use eclipse quickfix to create appropriate import statements -click in error code marked with red squiggly underline -ctl-1 for quick fix -select suggestion that generates the appropriate import -continue until no more errors -for this example 2 imports were generated: import org.junit.runner.RunWith; import org.junit.runners.Suite;