Class TestGuiceyAppExtension.Builder<C extends io.dropwizard.core.Configuration>

    • Constructor Detail

      • Builder

        public Builder​(java.lang.Class<? extends io.dropwizard.core.Application<C>> app)
        Create builder.
        Parameters:
        app - application type
    • Method Detail

      • setup

        @SafeVarargs
        public final TestGuiceyAppExtension.Builder<C> setup​(java.lang.Class<? extends TestEnvironmentSetup>... support)
        Environment support objects is the simplest mechanism to prepare additional objects for test (like database) and apply configuration overrides. Provided classes would be instantiated with the default constructor.

        To avoid confusion with guicey hooks: setup object required to prepare test environment before test (and apply required configurations) whereas hooks is a general mechanism for application customization (not only in tests).

        Anonymous implementation could be simply declared as field: @EnableSetup static TestEnvironmentSetup ext = ext -> ext.configOverrides("foo:1"). Non-static fields may be used only when extension is registered with non-static field (static fields would be also counted in this case). All annotated fields will be detected automatically and objects registered. Fields declared in base test classes are also counted.

        Parameters:
        support - support object classes
        Returns:
        builder instance for chained calls
      • setup

        public TestGuiceyAppExtension.Builder<C> setup​(TestEnvironmentSetup... support)
        Environment support objects is the simplest mechanism to prepare additional objects for test (like database) and apply configuration overrides.

        To avoid confusion with guicey hooks: setup object required to prepare test environment before test (and apply required configurations) whereas hooks is a general mechanism for application customization (not only in tests).

        Anonymous implementation could be simply declared as field: @EnableSetup static TestEnvironmentSetup ext = ext -> ext.configOverrides("foo:1"). Non-static fields may be used only when extension is registered with non-static field (static fields would be also counted in this case). All annotated fields will be detected automatically and objects registered. Fields declared in base test classes are also counted.

        Parameters:
        support - support object instances
        Returns:
        builder instance for chained calls
      • disableManagedLifecycle

        public TestGuiceyAppExtension.Builder<C> disableManagedLifecycle()
        By default, guicey simulates Managed and LifeCycle lifecycle.

        It might be required in test to avoid starting managed objects (especially all managed in application) because important (for test) services replaced with mocks (and no need to wait for the rest of the application).

        Warning: some guice reports might stop working, because they rely on application start event

        Returns:
        builder instance for chained calls
      • create

        public TestGuiceyAppExtension create()
        Creates extension.

        Note that extension must be assigned to static field! Extension instance does not provide additional methods so use field and parameter injections as with annotation extension declaration.

        Returns:
        extension instance