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