Class Robolectric


  • public class Robolectric
    extends Object
    • Constructor Detail

      • Robolectric

        public Robolectric()
    • Method Detail

      • setupService

        public static <T extends Service> T setupService​(Class<T> serviceClass)
      • setupIntentService

        public static <T extends IntentService> T setupIntentService​(Class<T> serviceClass)
      • setupContentProvider

        public static <T extends ContentProvider> T setupContentProvider​(Class<T> contentProviderClass)
      • setupContentProvider

        public static <T extends ContentProvider> T setupContentProvider​(Class<T> contentProviderClass,
                                                                         String authority)
      • buildActivity

        public static <T extends ActivityActivityController<T> buildActivity​(Class<T> activityClass)
        Creates a ActivityController for the given activity class.

        Consider using androidx.test.core.app.ActivityScenario instead, which provides higher-level, streamlined APIs to control the lifecycle and it works with instrumentation tests too.

      • buildActivity

        public static <T extends ActivityActivityController<T> buildActivity​(Class<T> activityClass,
                                                                               Intent intent)
        Creates a ActivityController for the given activity class with the intent.

        Note: the activity class is not determined by the intent.

        Consider using androidx.test.core.app.ActivityScenario instead, which provides higher-level, streamlined APIs to control the lifecycle and it works with instrumentation tests too.

      • buildActivity

        public static <T extends ActivityActivityController<T> buildActivity​(Class<T> activityClass,
                                                                               Intent intent,
                                                                               @Nullable
                                                                               Bundle activityOptions)
        Creates a ActivityController for the given activity class with the intent and activity options.

        Note: the activity class is not determined by the intent.

        Note: Display ID is the only option currently supported in the options bundle. Other options are ignored.

        Consider using androidx.test.core.app.ActivityScenario instead, which provides higher-level, streamlined APIs to control the lifecycle and it works with instrumentation tests too.

      • setupActivity

        @Deprecated
        public static <T extends Activity> T setupActivity​(Class<T> activityClass)
        Deprecated.
        use androidx.test.core.app.ActivityScenario
        Simulates starting activity with the given class type and returns its reference.

        Use androidx.test.core.app.ActivityScenario instead, which works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Bundle arguments)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class with the arguments.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Class<? extends Activity> activityClass)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class in the specified host activity.

        In general, it's a bad practice to design a fragment having dependency to a specific activity. Consider removing the dependency and use other buildFragment(java.lang.Class<T>) method or androidx.fragment.app.testing.FragmentScenario.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Intent intent)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class. The given intent is set to the host activity.

        Note: the host activity class is not determined by the intent.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Intent intent,
                                                                               Bundle arguments)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class with the arguments. The given intent is set to the host activity.

        Note: the host activity class is not determined by the intent.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Class<? extends Activity> activityClass,
                                                                               Intent intent)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class in the specified host activity. The given intent is set to the host activity.

        Note: the host activity class is not determined by the intent.

        In general, it's a bad practice to design a fragment having dependency to a specific activity. Consider removing the dependency and use other buildFragment(java.lang.Class<T>) method or androidx.fragment.app.testing.FragmentScenario.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Class<? extends Activity> activityClass,
                                                                               Bundle arguments)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class in the specified host activity with the arguments.

        In general, it's a bad practice to design a fragment having dependency to a specific activity. Consider removing the dependency and use other buildFragment(java.lang.Class<T>) method or androidx.fragment.app.testing.FragmentScenario.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • buildFragment

        @Deprecated
        public static <T extends FragmentFragmentController<T> buildFragment​(Class<T> fragmentClass,
                                                                               Class<? extends Activity> activityClass,
                                                                               Intent intent,
                                                                               Bundle arguments)
        Deprecated.
        Native Fragments have been deprecated in Android P. Android encourages developers to use androidx fragments, to test these use FragmentScenario.
        Creates a FragmentController for the given fragment class in the specified host activity with the arguments. The given intent is set to the host activity.

        Note: the host activity class is not determined by the intent.

        In general, it's a bad practice to design a fragment having dependency to a specific activity. Consider removing the dependency and use other buildFragment(java.lang.Class<T>) method or androidx.fragment.app.testing.FragmentScenario.

        FragmentController provides low-level APIs to control its lifecycle. Please consider using androidx.fragment.app.testing.FragmentScenario instead, which provides higher level APIs and works with instrumentation tests too.

      • setupBackupAgent

        public static <T extends BackupAgent> T setupBackupAgent​(Class<T> backupAgentClass)
      • buildAttributeSet

        public static AttributeSetBuilder buildAttributeSet()
        Allows for the programmatic creation of an AttributeSet. Useful for testing View classes without the need for creating XML snippets.
      • getForegroundThreadScheduler

        public static Scheduler getForegroundThreadScheduler()
        Return the foreground scheduler (e.g. the UI thread scheduler).
        Returns:
        Foreground scheduler.
      • flushForegroundThreadScheduler

        public static void flushForegroundThreadScheduler()
        Execute all runnables that have been enqueued on the foreground scheduler.
      • getBackgroundThreadScheduler

        public static Scheduler getBackgroundThreadScheduler()
        Return the background scheduler.
        Returns:
        Background scheduler.
      • flushBackgroundThreadScheduler

        public static void flushBackgroundThreadScheduler()
        Execute all runnables that have been enqueued on the background scheduler.