1 package org.junit.tests.running.methods; 2 3 import static org.junit.Assert.assertFalse; 4 import static org.junit.Assert.assertTrue; 5 import static org.junit.Assert.fail; 6 7 import org.junit.Before; 8 import org.junit.Test; 9 import org.junit.runner.JUnitCore; 10 import org.junit.runner.Result; 11 12 public class InheritedTestTest { 13 public abstract static class Super { 14 @Test 15 public void nothing() { 16 } 17 } 18 19 public static class Sub extends Super { 20 } 21 22 @Test 23 public void subclassWithOnlyInheritedTestsRuns() { 24 Result result = JUnitCore.runClasses(Sub.class); 25 assertTrue(result.wasSuccessful()); 26 } 27 28 public static class SubWithBefore extends Super { 29 @Before 30 public void gack() { 31 fail(); 32 } 33 } 34 35 @Test 36 public void subclassWithInheritedTestAndOwnBeforeRunsBefore() { 37 assertFalse(JUnitCore.runClasses(SubWithBefore.class).wasSuccessful()); 38 } 39 }