View Javadoc
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  }