| package org.junit.tests.running.methods; |
| |
| import static org.junit.Assert.assertFalse; |
| import static org.junit.Assert.assertTrue; |
| import static org.junit.Assert.fail; |
| |
| import org.junit.Before; |
| import org.junit.Test; |
| import org.junit.runner.JUnitCore; |
| import org.junit.runner.Result; |
| |
| public class InheritedTestTest { |
| public abstract static class Super { |
| @Test |
| public void nothing() { |
| } |
| } |
| |
| public static class Sub extends Super { |
| } |
| |
| @Test |
| public void subclassWithOnlyInheritedTestsRuns() { |
| Result result = JUnitCore.runClasses(Sub.class); |
| assertTrue(result.wasSuccessful()); |
| } |
| |
| public static class SubWithBefore extends Super { |
| @Before |
| public void gack() { |
| fail(); |
| } |
| } |
| |
| @Test |
| public void subclassWithInheritedTestAndOwnBeforeRunsBefore() { |
| assertFalse(JUnitCore.runClasses(SubWithBefore.class).wasSuccessful()); |
| } |
| } |