Junit4Test: package junittest; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.JUnitCore; /** * * @author zcb */ public class Junit4Test { public Junit4Test() { System.out.println("==constuct=="); } @BeforeClass public static void setUpClass() throws Exception { System.out.println("==setUpClass=="); } @BeforeClass public static void setUpClass2() throws Exception { System.out.println("==setUpClass2=="); } @AfterClass public static void tearDownClass() throws Exception { System.out.println("==tearDownClass=="); } @AfterClass public static void tearDownClass2() throws Exception { System.out.println("==tearDownClass2=="); } @Before public void setUp() { System.out.println("==setUp=="); } @Before public void setUp2() { System.out.println("==setUp2=="); } @After public void tearDown() { System.out.println("==tearDown=="); } // TODO add test methods here. // The methods must be annotated with annotation @Test. For example: // // @Test // public void hello() {} @Test public void methodA(){ System.out.println("==methodA=="); } @Test public void methodB(){ System.out.println("==methodB=="); } //在测试包中运行时,不需要本main方法 public static void main(String[] args) { JUnitCore.main(new String[]{"junittest.Junit4Test","junittest.Junit4Test2"});//参数为测试单例的全限定路径名,当参数多个是,会都执行,但需注意:此时有可能会提示有的参数指向的类找不到,而实际是存在的,初步估计是类没有加载到内存中 } } Junit4Test2: package junittest; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.JUnitCore; /** * * @author zcb */ public class Junit4Test2 { public Junit4Test2() { System.out.println("==Junit4Test2.constuct=="); } @BeforeClass public static void setUpClass() throws Exception { System.out.println("==Junit4Test2.setUpClass=="); } @BeforeClass public static void setUpClass2() throws Exception { System.out.println("==Junit4Test2.setUpClass2=="); } @AfterClass public static void tearDownClass() throws Exception { System.out.println("==Junit4Test2.tearDownClass=="); } @AfterClass public static void tearDownClass2() throws Exception { System.out.println("==Junit4Test2.tearDownClass2=="); } @Before public void setUp() { System.out.println("==Junit4Test2.setUp=="); } @Before public void setUp2() { System.out.println("==Junit4Test2.setUp2=="); } @After public void tearDown() { System.out.println("==Junit4Test2.tearDown=="); } // TODO add test methods here. // The methods must be annotated with annotation @Test. For example: // // @Test // public void hello() {} @Test public void methodA(){ System.out.println("==Junit4Test2.methodA=="); } @Test public void methodB(){ System.out.println("==Junit4Test2.methodB=="); } //在测试包中运行时,不需要本main方法 public static void main(String[] args) { JUnitCore.main(new String[]{"junittest.Junit4Test2","junittest.Junit4Test2"});//参数为测试单例的全限定路径名 } } Junit4TestSuit: package junittest; import org.junit.runner.JUnitCore; import org.junit.runner.RunWith; /** * * @author zcb */ @RunWith(org.junit.runners.Suite.class) @org.junit.runners.Suite.SuiteClasses({Junit4Test2.class,Junit4Test.class}) public class Junit4TestSuit { public static void main(String[] args) { //以下四个方法只执行第一个 //以下两个方法只能执行第一个 JUnitCore.main(new String[]{"junittest.Junit4Test","junittest.Junit4Test2"}); JUnitCore.main(new String[]{"junittest.Junit4Test2","junittest.Junit4Test"}); //以下两个方法只能执行第一个 JUnitCore.main(new String[]{"junittest.Junit4Test2"}); JUnitCore.main(new String[]{"junittest.Junit4Test"}); } } 参考资料: http://www.docin.com/p-19011844.html