Class TestBeanScope


  • @NonNullApi
    public abstract class TestBeanScope
    extends Object
    Provides access to the global "test scope" and helper methods to use it.
    • Constructor Detail

      • TestBeanScope

        public TestBeanScope()
    • Method Detail

      • builder

        public static BeanScopeBuilder builder()
        Build and return a new BeanScope that will have the global "test scope" as its parent.

        That is, beans created using @TestScope are all in the global "test scope" which is a parent to this scope.

        
        
          try (BeanScope testScope = TestBeanScope.builder()
           .forTesting()
           .mock(MyDataApi.class)
           .build()) {
        
           // mockito mock, use when() etc as needed
           var myDataApi = testScope.get(MyDataApi.class);
        
           var myService = testScope.get(MyService.class);
        
           ...
          }
        
         
        Returns:
        A new test BeanScope with the global "test scope" as its parent.
      • initialise

        @Nullable
        public static BeanScope initialise()
        Return the BeanScope for @TestScope beans ONLY building once.

        If the BeanScope has already been created then that shared scope instance is returned. This will be the same BeanScope as is used by @InjectTest.

        The global test scope is closed when either JUnit closes or on JVM shutdown.

        
        
           final BeanScope globalTestScope = TestBeanScope.initialise();
        
         
        Returns:
        The test scope BeanScope (nullable).
      • create

        @Nullable
        public static BeanScope create​(boolean shutdownHook)
        Build and return a new BeanScope for @TestScope beans. This builds the beans in the test scope every time it is called.

        Generally, we DO NOT want to use this method but use initialise() instead.

        Parameters:
        shutdownHook - Set whether a shutdown hook should be created to close the BeanScope.
        Returns:
        The test scope BeanScope (nullable).