1 package org.junit.tests.running.classes; 2 3 import static org.junit.Assert.assertEquals; 4 import static org.junit.Assert.fail; 5 6 import org.junit.Test; 7 import org.junit.runner.JUnitCore; 8 import org.junit.runner.Result; 9 import org.junit.runner.RunWith; 10 import org.junit.runners.Suite; 11 import org.junit.runners.model.InitializationError; 12 13 public class UseSuiteAsASuperclassTest { 14 15 public static class TestA { 16 @Test 17 public void pass() { 18 } 19 } 20 21 public static class TestB { 22 @Test 23 public void dontPass() { 24 fail(); 25 } 26 } 27 28 public static class MySuite extends Suite { 29 public MySuite(Class<?> klass) throws InitializationError { 30 super(klass, new Class[]{TestA.class, TestB.class}); 31 } 32 } 33 34 @RunWith(MySuite.class) 35 public static class AllWithMySuite { 36 } 37 38 @Test 39 public void ensureTestsAreRun() { 40 JUnitCore core = new JUnitCore(); 41 Result result = core.run(AllWithMySuite.class); 42 assertEquals(2, result.getRunCount()); 43 assertEquals(1, result.getFailureCount()); 44 } 45 }