diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt
index 0cbbed399eb73d7d1df17380e4bf13d0b2d42283..08e05bb2ad77fcc99cfb954d678c0f1190aba543 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt
@@ -124,14 +124,14 @@ class ContactDiaryDayFragmentTest : BaseUITest() {
     private fun setupViewModels() {
         viewModel = spyk(
             ContactDiaryDayViewModel(
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 selectedDay
             )
         )
 
         personListViewModel = spyk(
             ContactDiaryPersonListViewModel(
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 selectedDay,
                 contactDiaryRepository
             )
@@ -139,7 +139,7 @@ class ContactDiaryDayFragmentTest : BaseUITest() {
 
         locationListViewModel = spyk(
             ContactDiaryLocationListViewModel(
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 selectedDay,
                 contactDiaryRepository
             )
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt
index 3bdfbe3449baf012e34e691b379fdf332046e4e8..0b8e1dacfdb8eef77fdeeae8bb451477c7806122 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt
@@ -46,7 +46,7 @@ class ContactDiaryEditLocationsFragmentTest : BaseUITest() {
         viewModel = spyk(
             ContactDiaryEditLocationsViewModel(
                 contactDiaryRepository,
-                TestDispatcherProvider
+                TestDispatcherProvider()
             )
         )
         setupMockViewModel(
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt
index 91b359f039c8ff905ac4a05bcf05b7b66ec90c28..00cb0d90e12a0e545b44f228aee8d0377a628c6a 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt
@@ -46,7 +46,7 @@ class ContactDiaryEditPersonsFragmentTest : BaseUITest() {
         viewModel = spyk(
             ContactDiaryEditPersonsViewModel(
                 contactDiaryRepository,
-                TestDispatcherProvider
+                TestDispatcherProvider()
             )
         )
         setupMockViewModel(
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt
index 5e44dad6dceb18ab73decf70a85b5a4863da6e16..eb3cd813f32f4267586caf4b9b89056393aff024 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt
@@ -53,7 +53,7 @@ class ContactDiaryOverviewFragmentTest : BaseUITest() {
         viewModel = spyk(
             ContactDiaryOverviewViewModel(
                 taskController = taskController,
-                dispatcherProvider = TestDispatcherProvider,
+                dispatcherProvider = TestDispatcherProvider(),
                 contactDiaryRepository = contactDiaryRepository,
                 riskLevelStorage = riskLevelStorage
             )
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt
index 6bc5240354067ae20e685e1d42ba7f10d7329ca0..7bd75328019015c8a150ad170063c68f65e13d82 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt
@@ -247,7 +247,7 @@ class HomeFragmentTest : BaseUITest() {
 
     private fun homeFragmentViewModelSpy() = spyk(
         HomeFragmentViewModel(
-            dispatcherProvider = TestDispatcherProvider,
+            dispatcherProvider = TestDispatcherProvider(),
             errorResetTool = errorResetTool,
             tracingRepository = tracingRepository,
             tracingStateProviderFactory = tracingStateProviderFactory,
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt
index 829ed1551d57246345e1a7f7457f7be0762e36bf..5a3922923f8b32e1785e6ab04ec6c56fabb4d3f0 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt
@@ -13,13 +13,13 @@ import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 import testhelpers.BaseUITest
+import testhelpers.SCREENSHOT_DELAY_TIME
 import testhelpers.Screenshot
 import testhelpers.SystemUIDemoModeRule
 import testhelpers.TestDispatcherProvider
 import testhelpers.launchFragmentInContainer2
 import tools.fastlane.screengrab.Screengrab
 import tools.fastlane.screengrab.locale.LocaleTestRule
-import testhelpers.SCREENSHOT_DELAY_TIME
 
 @RunWith(AndroidJUnit4::class)
 class OnboardingDeltaInteroperabilityFragmentTest : BaseUITest() {
@@ -41,7 +41,7 @@ class OnboardingDeltaInteroperabilityFragmentTest : BaseUITest() {
             override fun create(): OnboardingDeltaInteroperabilityFragmentViewModel =
                 OnboardingDeltaInteroperabilityFragmentViewModel(
                     interopRepo = interopRepo,
-                    dispatcherProvider = TestDispatcherProvider
+                    dispatcherProvider = TestDispatcherProvider()
                 )
         })
     }
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt
index a6be434831ba9b3312b5472a91ea776984e8cff9..2322ccc008e70984cd7e661b3b72526a37b53b84 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt
@@ -48,7 +48,7 @@ class OnboardingTracingFragmentTest : BaseUITest() {
             OnboardingTracingFragmentViewModel(
                 interoperabilityRepository = interopRepo,
                 tracingPermissionHelperFactory = factory,
-                dispatcherProvider = TestDispatcherProvider
+                dispatcherProvider = TestDispatcherProvider()
             )
         )
 
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt
index aa8dbed36474a8b139559f3aaaf18029c27e38fb..eacde5485310325a6cef7dc57e5281f14eb0cb20 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt
@@ -42,7 +42,8 @@ class SubmissionConsentFragmentTest : BaseUITest() {
     fun setup() {
         MockKAnnotations.init(this, relaxed = true)
         every { interoperabilityRepository.countryList } returns flowOf()
-        viewModel = SubmissionConsentViewModel(submissionRepository, interoperabilityRepository, TestDispatcherProvider)
+        viewModel =
+            SubmissionConsentViewModel(submissionRepository, interoperabilityRepository, TestDispatcherProvider())
         setupMockViewModel(object : SubmissionConsentViewModel.Factory {
             override fun create(): SubmissionConsentViewModel = viewModel
         })
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt
index a2ad56bdd115aaae9624bd742d6ab2b67ad67952..411960fcb5a713551242b124634a74e9180a2a9a 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt
@@ -53,7 +53,7 @@ class SubmissionSymptomCalendarFragmentTest : BaseUITest() {
         viewModel = spyk(
             SubmissionSymptomCalendarViewModel(
                 Symptoms.Indication.POSITIVE,
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 submissionRepository,
                 autoSubmission
             )
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt
index 4b8224920c6278fcfd1c878b9883e16bd7911a15..c106e546bcb67d6bdcf1fe379821713ca8325a63 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt
@@ -53,7 +53,7 @@ class SubmissionSymptomIntroFragmentTest : BaseUITest() {
     fun setup() {
         MockKAnnotations.init(this, relaxed = true)
         viewModel =
-            spyk(SubmissionSymptomIntroductionViewModel(TestDispatcherProvider, submissionRepository, autoSubmission))
+            spyk(SubmissionSymptomIntroductionViewModel(TestDispatcherProvider(), submissionRepository, autoSubmission))
         with(viewModel) {
             every { symptomIndication } returns MutableLiveData(Symptoms.Indication.POSITIVE)
         }
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt
index 38331cf9e29415436dce1770cb6911832ebc6254..8cf2b0f6911882a112d629830d9ca4400d073c28 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt
@@ -36,7 +36,7 @@ class SubmissionTanFragmentTest : BaseUITest() {
     @MockK lateinit var submissionRepository: SubmissionRepository
 
     private fun createViewModel() = SubmissionTanViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         submissionRepository = submissionRepository
     )
 
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt
index aac51198e2d70087b9c3e63dcaf8f7d1f198e78e..9269b89a1c753ba71101c333e998bc80b8fa5088 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt
@@ -50,7 +50,7 @@ class SubmissionTestResultAvailableFragmentTest : BaseUITest() {
 
         viewModel = spyk(
             SubmissionTestResultAvailableViewModel(
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 tekHistoryUpdaterFactory,
                 submissionRepository,
                 autoSubmission
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt
index 39ccea98e51e2c26cb51581b09c63d3aa7d34b74..506cd23ebfcb88162888b233e00ccea81055eaa2 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt
@@ -70,7 +70,7 @@ class SubmissionTestResultConsentGivenFragmentTest : BaseUITest() {
                     submissionRepository,
                     autoSubmission,
                     testResultAvailableNotificationService,
-                    TestDispatcherProvider
+                    TestDispatcherProvider()
                 )
             )
         setupMockViewModel(
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt
index 7305ee020dd89a18ecb465e62907b53a11006b17..781c3f544c6448ce84b1a713240c0bb193bf5cbc 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt
@@ -60,7 +60,7 @@ class SubmissionTestResultFragmentTest : BaseUITest() {
 
         viewModel = spyk(
             SubmissionTestResultPendingViewModel(
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 shareTestResultNotificationService,
                 submissionRepository
             )
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt
index a10ad9e78408bf348114b42a58aa5847bf6f717f..d99b017e1e9254579e75da02983519ae1f6ae612 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt
@@ -52,7 +52,7 @@ class SubmissionTestResultNegativeFragmentTest : BaseUITest() {
 
         viewModel = spyk(
             SubmissionTestResultNegativeViewModel(
-                TestDispatcherProvider,
+                TestDispatcherProvider(),
                 submissionRepository,
                 testResultAvailableNotificationService
             )
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt
index 909eb1c5d30e9ee41d79d828e83d7d0a0ff8894a..1312ce621eb0ef494eb4ad9ed790ac3b7ec4dc7b 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt
@@ -44,7 +44,7 @@ class SubmissionYourConsentFragmentTest : BaseUITest() {
         MockKAnnotations.init(this, relaxed = true)
         every { submissionRepository.hasGivenConsentToSubmission } returns flowOf()
         viewModel =
-            SubmissionYourConsentViewModel(TestDispatcherProvider, interoperabilityRepository, submissionRepository)
+            SubmissionYourConsentViewModel(TestDispatcherProvider(), interoperabilityRepository, submissionRepository)
         setupMockViewModel(object : SubmissionYourConsentViewModel.Factory {
             override fun create(): SubmissionYourConsentViewModel = viewModel
         })
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt
index e221717278a169fd8809a12c291aa0ccaee0a3b1..617a7cc2f5d8418b24cb8e0b1c3dc8b2b76c05a8 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt
@@ -58,7 +58,7 @@ class TracingDetailsFragmentTest : BaseUITest() {
 
         viewModel = spyk(
             TracingDetailsFragmentViewModel(
-                dispatcherProvider = TestDispatcherProvider,
+                dispatcherProvider = TestDispatcherProvider(),
                 tracingStatus = tracingStatus,
                 backgroundModeStatus = backgroundModeStatus,
                 riskLevelStorage = riskLevelStorage,
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt
index 1e4abd60c7404b6886c2637738086c059136001b..0928ccd8f910cf4ccfed86b072e6da8ae6f99c3f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt
@@ -1,21 +1,21 @@
 package de.rki.coronawarnapp.util.coroutine
 
-import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
+import kotlin.coroutines.CoroutineContext
 
 // Need this to improve testing
 // Can currently only replace the main-thread dispatcher.
 // https://github.com/Kotlin/kotlinx.coroutines/issues/1365
 @Suppress("PropertyName", "VariableNaming")
 interface DispatcherProvider {
-    val Default: CoroutineDispatcher
+    val Default: CoroutineContext
         get() = Dispatchers.Default
-    val Main: CoroutineDispatcher
+    val Main: CoroutineContext
         get() = Dispatchers.Main
-    val MainImmediate: CoroutineDispatcher
+    val MainImmediate: CoroutineContext
         get() = Dispatchers.Main.immediate
-    val Unconfined: CoroutineDispatcher
+    val Unconfined: CoroutineContext
         get() = Dispatchers.Unconfined
-    val IO: CoroutineDispatcher
+    val IO: CoroutineContext
         get() = Dispatchers.IO
 }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt
index e5b901e0c00837569a2abf24179a8772019a3067..d919d3119653df4ddf2629442ded2bc4de5c5025 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt
@@ -63,7 +63,7 @@ class AppConfigProviderTest : BaseIOTest() {
 
     private fun createInstance(scope: CoroutineScope) = AppConfigProvider(
         appConfigSource = appConfigSource,
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         scope = scope
     )
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt
index 155d2f76c5a1293205cf55008a22d9a5308e5869..9bf5c9ddfcc08815f9ca89db789cc042ce3eaa75 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt
@@ -68,7 +68,7 @@ class LocalAppConfigSourceTest : BaseIOTest() {
     private fun createInstance() = LocalAppConfigSource(
         storage = configStorage,
         parser = configParser,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt
index 94de5fb5b9e6caa812eb90f456b3cb86f4ba9739..79f79fa9ef8f090edced1a5261976fffbaf9740b 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt
@@ -73,7 +73,7 @@ class RemoteAppConfigSourceTest : BaseIOTest() {
         server = configServer,
         storage = configStorage,
         parser = configParser,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt
index ea6e55c4697a6006634899eea2782364134d5f74..a9022f4fe16940addcb635c13383dec6c14083e1 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt
@@ -38,7 +38,7 @@ class ContactDiaryEditLocationsViewModelTest {
     @Test
     fun testOnDeleteAllLocationsClick() {
         every { contactDiaryRepository.locations } returns MutableStateFlow(locationList)
-        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.navigationEvent.observeForever { }
         viewModel.onDeleteAllLocationsClick()
         viewModel.navigationEvent.value shouldBe ContactDiaryEditLocationsViewModel.NavigationEvent.ShowDeletionConfirmationDialog
@@ -49,7 +49,7 @@ class ContactDiaryEditLocationsViewModelTest {
         coEvery { contactDiaryRepository.deleteAllLocationVisits() } just Runs
         coEvery { contactDiaryRepository.deleteAllLocations() } just Runs
         every { contactDiaryRepository.locations } returns MutableStateFlow(locationList)
-        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.onDeleteAllConfirmedClick()
         coVerify(exactly = 1) {
             contactDiaryRepository.deleteAllLocationVisits()
@@ -60,7 +60,7 @@ class ContactDiaryEditLocationsViewModelTest {
     @Test
     fun testOnEditLocationClick() {
         every { contactDiaryRepository.locations } returns MutableStateFlow(locationList)
-        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.navigationEvent.observeForever { }
         viewModel.onEditLocationClick(location)
         viewModel.navigationEvent.value shouldBe
@@ -70,7 +70,7 @@ class ContactDiaryEditLocationsViewModelTest {
     @Test
     fun testIsButtonEnabled() {
         every { contactDiaryRepository.locations } returns MutableStateFlow(locationList)
-        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.isButtonEnabled.observeForever { }
         viewModel.isButtonEnabled.value shouldBe true
     }
@@ -78,7 +78,7 @@ class ContactDiaryEditLocationsViewModelTest {
     @Test
     fun testIsButtonNotEnabledWhenListIsEmpty() {
         every { contactDiaryRepository.locations } returns MutableStateFlow(emptyList())
-        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.isButtonEnabled.observeForever { }
         viewModel.isButtonEnabled.value shouldBe false
     }
@@ -86,7 +86,7 @@ class ContactDiaryEditLocationsViewModelTest {
     @Test
     fun testLocations() {
         every { contactDiaryRepository.locations } returns MutableStateFlow(locationList)
-        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.locationsLiveData.observeForever { }
         viewModel.locationsLiveData.value shouldBe locationList
     }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt
index 183722bb6ea00c8c90bce2be935913aaa398a997..f1a8aa1e22d2f65e329e9dbfade18366738ab302 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt
@@ -39,7 +39,7 @@ class ContactDiaryEditPersonsViewModelTest {
     @Test
     fun testOnDeleteAllLocationsClick() {
         every { contactDiaryRepository.people } returns MutableStateFlow(personList)
-        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.navigationEvent.observeForever { }
         viewModel.onDeleteAllPersonsClick()
         viewModel.navigationEvent.value shouldBe ContactDiaryEditPersonsViewModel.NavigationEvent.ShowDeletionConfirmationDialog
@@ -50,7 +50,7 @@ class ContactDiaryEditPersonsViewModelTest {
         coEvery { contactDiaryRepository.deleteAllPeople() } just Runs
         coEvery { contactDiaryRepository.deleteAllPersonEncounters() } just Runs
         every { contactDiaryRepository.people } returns MutableStateFlow(personList)
-        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.onDeleteAllConfirmedClick()
         coVerify(exactly = 1) {
             contactDiaryRepository.deleteAllPeople()
@@ -61,7 +61,7 @@ class ContactDiaryEditPersonsViewModelTest {
     @Test
     fun testOnEditLocationClick() {
         every { contactDiaryRepository.people } returns MutableStateFlow(personList)
-        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.navigationEvent.observeForever { }
         viewModel.onEditPersonClick(person)
         viewModel.navigationEvent.value shouldBe
@@ -71,7 +71,7 @@ class ContactDiaryEditPersonsViewModelTest {
     @Test
     fun testIsButtonEnabled() {
         every { contactDiaryRepository.people } returns MutableStateFlow(personList)
-        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.isButtonEnabled.observeForever { }
         viewModel.isButtonEnabled.value shouldBe true
     }
@@ -79,7 +79,7 @@ class ContactDiaryEditPersonsViewModelTest {
     @Test
     fun testIsButtonNotEnabledWhenListIsEmpty() {
         every { contactDiaryRepository.people } returns MutableStateFlow(emptyList())
-        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.isButtonEnabled.observeForever { }
         viewModel.isButtonEnabled.value shouldBe false
     }
@@ -87,7 +87,7 @@ class ContactDiaryEditPersonsViewModelTest {
     @Test
     fun testLocations() {
         every { contactDiaryRepository.people } returns MutableStateFlow(personList)
-        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider)
+        viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider())
         viewModel.personsLiveData.observeForever { }
         viewModel.personsLiveData.value shouldBe personList
     }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt
index 598e8408c1e8e0aad0fd5f78c4940b13723fa664..17c4989677b24761b43f3e92b7d797310e5ac8f5 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt
@@ -39,7 +39,7 @@ class DayPackageSyncToolTest : CommonSyncToolTest() {
         keyCache = keyCache,
         downloadTool = downloadTool,
         timeStamper = timeStamper,
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         configProvider = configProvider
     )
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt
index 5e50eeaedd865915c26891ecd384e711160b6a7e..0a58b9578d7bf70ad5b1e1e0944f5c8525be7f12 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt
@@ -41,7 +41,7 @@ class HourPackageSyncToolTest : CommonSyncToolTest() {
         downloadTool = downloadTool,
         timeStamper = timeStamper,
         configProvider = configProvider,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt
index 871d43b357fb4d5a52e5d0ca30a6515a0c7026e4..10efd2034d8863d12170bfd6443ea0c5384580d1 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt
@@ -38,7 +38,7 @@ class MainActivityViewModelTest : BaseTest() {
     }
 
     private fun createInstance(): MainActivityViewModel = MainActivityViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         environmentSetup = environmentSetup,
         backgroundModeStatus = backgroundModeStatus
     )
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt
index 701dcece0bab0be0a2a494c6e45387bed0221fc2..f0361f63d6ede3955ee581c3358ac21d04908e3c 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt
@@ -81,7 +81,7 @@ class HomeFragmentViewModelTest : BaseTest() {
     }
 
     private fun createInstance(): HomeFragmentViewModel = HomeFragmentViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         errorResetTool = errorResetTool,
         tracingStatus = generalTracingStatus,
         tracingRepository = tracingRepository,
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt
index 9012e23cf22f3a22d07d72703bbba373bf6788a9..823cee90f26d89f9abf72762878b116fead30ea1 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt
@@ -56,7 +56,7 @@ class DefaultExposureDetectionTrackerTest : BaseTest() {
 
     private fun createInstance(scope: CoroutineScope) = DefaultExposureDetectionTracker(
         scope = scope,
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         storage = storage,
         timeStamper = timeStamper,
         appConfigProvider = configProvider
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt
index 4bd4076caffa27abfe8a250730495fbf917eeedc..8294b345482db09178e896662bf04d62084e450c 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt
@@ -62,7 +62,7 @@ class ExposureStateUpdateReceiverTest : BaseTest() {
         val broadcastReceiverInjector = AndroidInjector<Any> {
             it as ExposureStateUpdateReceiver
             it.exposureDetectionTracker = exposureDetectionTracker
-            it.dispatcherProvider = TestDispatcherProvider
+            it.dispatcherProvider = TestDispatcherProvider()
             it.scope = scope
             it.workManager = workManager
         }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt
index dbb619dab33795c620c1eea252ce0187d0ead727..13db6802394cb26892b17a91413c79c53ed44835 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt
@@ -66,7 +66,7 @@ class StatisticsProviderTest : BaseTest() {
         localCache = localCache,
         parser = parser,
         foregroundState = foregroundState,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt
index 87c6c0f008a10f8fc3c5ff0a2b4cb8b4f5c876ec..45a8b3e1ef2b03347324d72f0a8c4ad9ca32b37d 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt
@@ -29,7 +29,7 @@ class InteroperabilityConfigurationFragmentViewModelTest {
     }
 
     private fun createViewModel() =
-        InteroperabilityConfigurationFragmentViewModel(interoperabilityRepository, TestDispatcherProvider)
+        InteroperabilityConfigurationFragmentViewModel(interoperabilityRepository, TestDispatcherProvider())
 
     @Test
     fun `viewmodel returns interop repo countryList`() {
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt
index 343f7b9609c1ee4baf50c2b74dbf63bf1ac2b47d..63b1203140a7d028f8dce3f052407a3439210f97 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt
@@ -34,7 +34,7 @@ class LauncherActivityViewModelTest {
 
     private fun createViewModel() = LauncherActivityViewModel(
         updateChecker = updateChecker,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt
index a1bcbcdf494e6cc0575aa48e6c9d4114057e79e2..031ff0e1d3dcbfb2836a1be87e754d4d3061380a 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt
@@ -43,7 +43,7 @@ class NotificationSettingsFragmentViewModelTest : BaseTest() {
 
     private fun createInstance(): NotificationSettingsFragmentViewModel =
         NotificationSettingsFragmentViewModel(
-            dispatcherProvider = TestDispatcherProvider,
+            dispatcherProvider = TestDispatcherProvider(),
             notificationSettings = notificationSettings
         )
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt
index 115d261ecf50446fd5532d62f8de0ebb4fa8d8fd..7b48a9b4900cbc282bbd0645a02599123d388b5d 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt
@@ -46,7 +46,7 @@ class SettingsFragmentViewModelTest : BaseTest() {
     }
 
     private fun createInstance(): SettingsFragmentViewModel = SettingsFragmentViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         tracingStatus = tracingStatus,
         backgroundModeStatus = backgroundModeStatus,
         notificationSettings = notificationSettings
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt
index 151651436838878fcc4cd85133c3c06ae578dabf..585c1c37fdc896b919972326fc41ed1bab736def 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt
@@ -36,7 +36,7 @@ class SubmissionConsentViewModelTest {
         viewModel = SubmissionConsentViewModel(
             submissionRepository,
             interoperabilityRepository,
-            dispatcherProvider = TestDispatcherProvider
+            dispatcherProvider = TestDispatcherProvider()
         )
     }
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt
index 591b391e48ba7638d225c1bbfc462086d6a51476..1a07365dca30a267deacd0b950e0bcdd59b8cd85 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt
@@ -53,7 +53,7 @@ class SubmissionSymptomCalendarViewModelTest : BaseTest() {
     private fun createViewModel(indication: Symptoms.Indication = Symptoms.Indication.POSITIVE) =
         SubmissionSymptomCalendarViewModel(
             symptomIndication = indication,
-            dispatcherProvider = TestDispatcherProvider,
+            dispatcherProvider = TestDispatcherProvider(),
             submissionRepository = submissionRepository,
             autoSubmission = autoSubmission
         )
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt
index f3e1ee087cf6863a7b071919360b948ce16b9b50..af78444e2651187a3b35b01c2454269393db8618 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt
@@ -47,7 +47,7 @@ class SubmissionSymptomIntroductionViewModelTest : BaseTest() {
     }
 
     private fun createViewModel() = SubmissionSymptomIntroductionViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         submissionRepository = submissionRepository,
         autoSubmission = autoSubmission
     )
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt
index 8d0f77ea5c10ac01d76fcd2b611ac8608c05e274..22e7c02b1eef4f0900dc86a165b48a7ddfa91250 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt
@@ -18,7 +18,7 @@ class SubmissionTanViewModelTest : BaseTest() {
     @MockK lateinit var submissionRepository: SubmissionRepository
 
     private fun createInstance() = SubmissionTanViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         submissionRepository = submissionRepository
     )
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt
index 1341d2771a2d3468a9d7853394fb84827de7a550..9be0ec3c971e726d87ea1543eec2490805a56dd1 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt
@@ -46,7 +46,7 @@ class SubmissionTestResultAvailableViewModelTest : BaseTest() {
 
     private fun createViewModel(): SubmissionTestResultAvailableViewModel = SubmissionTestResultAvailableViewModel(
         submissionRepository = submissionRepository,
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         tekHistoryUpdaterFactory = tekHistoryUpdaterFactory,
         autoSubmission = autoSubmission
     )
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt
index 9cf860c68b74bc78a2b50c7d5b7f9f98d1a7df76..c84ea408def3e5f45cba933fdcde2aaf483b497c 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt
@@ -29,7 +29,7 @@ class SubmissionTestResultConsentGivenViewModelTest : BaseTest() {
 
     private fun createViewModel() = SubmissionTestResultConsentGivenViewModel(
         submissionRepository = submissionRepository,
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         autoSubmission = autoSubmission,
         testResultAvailableNotificationService = testResultAvailableNotificationService
     )
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt
index b9a3cd2ba311145208f19c1af628ee876f012c21..d87ada61d16654e5a2e13d3dba3d9bab0034644b 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt
@@ -47,7 +47,7 @@ class SubmissionResultPositiveOtherWarningNoConsentViewModelTest : BaseTest() {
     }
 
     private fun createViewModel() = SubmissionResultPositiveOtherWarningNoConsentViewModel(
-        dispatcherProvider = TestDispatcherProvider,
+        dispatcherProvider = TestDispatcherProvider(),
         tekHistoryUpdaterFactory = tekHistoryUpdaterFactory,
         autoSubmission = autoSubmission,
         enfClient = enfClient,
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt
index 184fae9da67cfb236f7f7f650b6db6df663736e0..d5a70f44c58d3020649dfa8ee117caa5833bc1a6 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt
@@ -43,7 +43,7 @@ class SubmissionYourConsentViewModelTest : BaseTest() {
     private fun createViewModel(): SubmissionYourConsentViewModel = SubmissionYourConsentViewModel(
         interoperabilityRepository = interoperabilityRepository,
         submissionRepository = submissionRepository,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @AfterEach
diff --git a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt
index 4883ed9049aadf384f6dbd79469f450eb464397b..2e38ca455a29ba71aeae62febc1759557badd09c 100644
--- a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt
+++ b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt
@@ -56,7 +56,7 @@ class DebugOptionsFragmentViewModelTest : BaseTest() {
 
     private fun createViewModel(): DebugOptionsFragmentViewModel = DebugOptionsFragmentViewModel(
         envSetup = environmentSetup,
-        dispatcherProvider = TestDispatcherProvider
+        dispatcherProvider = TestDispatcherProvider()
     )
 
     @Test
diff --git a/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt b/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt
index 9b338acc7d85ffeeb83d5fd9d3b522de58e9a693..9aff497b970a49f8ac22e0ca24b3557745b9c663 100644
--- a/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt
+++ b/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt
@@ -1,18 +1,23 @@
 package testhelpers
 
 import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
-import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
+import kotlin.coroutines.CoroutineContext
 
-object TestDispatcherProvider : DispatcherProvider {
-    override val Default: CoroutineDispatcher
-        get() = Dispatchers.Unconfined
-    override val Main: CoroutineDispatcher
-        get() = Dispatchers.Unconfined
-    override val MainImmediate: CoroutineDispatcher
-        get() = Dispatchers.Unconfined
-    override val Unconfined: CoroutineDispatcher
-        get() = Dispatchers.Unconfined
-    override val IO: CoroutineDispatcher
-        get() = Dispatchers.Unconfined
+class TestDispatcherProvider(private val context: CoroutineContext? = null) : DispatcherProvider {
+    override val Default: CoroutineContext
+        get() = context ?: Dispatchers.Unconfined
+    override val Main: CoroutineContext
+        get() = context ?: Dispatchers.Unconfined
+    override val MainImmediate: CoroutineContext
+        get() = context ?: Dispatchers.Unconfined
+    override val Unconfined: CoroutineContext
+        get() = context ?: Dispatchers.Unconfined
+    override val IO: CoroutineContext
+        get() = context ?: Dispatchers.Unconfined
 }
+
+fun CoroutineScope.asDispatcherProvider() = this.coroutineContext.asDispatcherProvider()
+
+fun CoroutineContext.asDispatcherProvider() = TestDispatcherProvider(context = this)