WorkManagerTestInitHelper
public final class WorkManagerTestInitHelper
Helps initialize androidx.work.WorkManager for testing.
Summary
Nested types |
|---|
public enum WorkManagerTestInitHelper.ExecutorsModeModes that control which executors are used in tests. |
Public methods
closeWorkDatabase
public static void closeWorkDatabase()
Closes internal androidx.work.WorkManager's database.
It could be helpful to avoid warnings by CloseGuard in testing infra. You need to be make sure that WorkManager finished all operations and won't touch database anymore. Meaning that both getTaskExecutor and getExecutor are idle.
It shouldn't be called from getTaskExecutor because this method will block until all internal work is complete after cancellation. To complete this work getTaskExecutor could be require and blocking it may lead to deadlocks.
public static @Nullable TestDrivergetTestDriver()
| Returns | |
|---|---|
@Nullable TestDriver |
An instance of |
getTestDriver
public static @Nullable TestDriver getTestDriver(@NonNull Context context)
| Returns | |
|---|---|
@Nullable TestDriver |
An instance of |
initializeTestWorkManager
public static void initializeTestWorkManager(@NonNull Context context)
Initializes a test androidx.work.WorkManager with a SynchronousExecutor.
initializeTestWorkManager
public static void initializeTestWorkManager(
@NonNull Context context,
@NonNull Configuration configuration
)
Initializes a test androidx.work.WorkManager with a user-specified androidx.work.Configuration, but using SynchronousExecutor instead of main thread.
| Parameters | |
|---|---|
@NonNull Context context |
The application |
@NonNull Configuration configuration |
initializeTestWorkManager
public static void initializeTestWorkManager(
@NonNull Context context,
@NonNull WorkManagerTestInitHelper.ExecutorsMode executorsMode
)
Initializes a test androidx.work.WorkManager that can be controlled via TestDriver.
| Parameters | |
|---|---|
@NonNull Context context |
The application |
@NonNull WorkManagerTestInitHelper.ExecutorsMode executorsMode |
mode controlling executors used by WorkManager in tests. See documentation of modes in |
initializeTestWorkManager
public static void initializeTestWorkManager(
@NonNull Context context,
@NonNull Configuration configuration,
@NonNull WorkManagerTestInitHelper.ExecutorsMode executorsMode
)
Initializes a test androidx.work.WorkManager that can be controlled via TestDriver.
| Parameters | |
|---|---|
@NonNull Context context |
The application |
@NonNull Configuration configuration |
test configuration of WorkManager |
@NonNull WorkManagerTestInitHelper.ExecutorsMode executorsMode |
mode controlling executors used by WorkManager in tests. See documentation of modes in |