1 package mockit.integration.junit4; 2 3 import static org.junit.jupiter.api.Assertions.assertEquals; 4 5 import mockit.Mock; 6 import mockit.MockUp; 7 8 import org.junit.BeforeClass; 9 import org.junit.Test; 10 11 public final class ThirdJUnit4DecoratorTest extends BaseJUnit4DecoratorTest { 12 public static final class RealClass4 { 13 public String getValue() { 14 return "REAL4"; 15 } 16 } 17 18 public static final class FakeClass4 extends MockUp<RealClass4> { 19 @Mock 20 public String getValue() { 21 return "TEST4"; 22 } 23 } 24 25 @BeforeClass 26 public static void applyFakes() { 27 new FakeClass4(); 28 } 29 30 @Test 31 public void realClassesFakedInBaseClassMustStillBeFakedHere() { 32 assertEquals("TEST0", new RealClass0().getValue()); 33 assertEquals("TEST1", new RealClass1().getValue()); 34 } 35 36 @Test 37 public void realClassesFakedInOtherTestClassesMustNotBeFakedHere() { 38 assertEquals("REAL2", new JUnit4DecoratorTest.RealClass2().getValue()); 39 assertEquals("REAL3", new SecondJUnit4DecoratorTest.RealClass3().getValue()); 40 } 41 42 @Test 43 public void useClassScopedFakeDefinedForThisClass() { 44 assertEquals("TEST4", new RealClass4().getValue()); 45 } 46 }