set

fun set(factory: () -> CoroutineScope)

Override the default MainImmediateCoroutineScope factory, for testing or to include a custom CoroutineContext in production code. This may be done in Application.onCreate

Samples

import dispatch.android.espresso.MainImmediateIdlingCoroutineScope
import dispatch.android.viewmodel.ViewModelScopeFactory
import dispatch.core.MainImmediateCoroutineScope
import dispatch.internal.test.Sample5
import dispatch.test.TestProvidedCoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
fun main() { 
   //sampleStart 
   class MyApplication : Application {

  override fun onCreate() {
    ViewModelScopeFactory.set { MainImmediateCoroutineScope() }
  }
} 
   //sampleEnd
}
import dispatch.android.espresso.MainImmediateIdlingCoroutineScope
import dispatch.android.viewmodel.ViewModelScopeFactory
import dispatch.core.MainImmediateCoroutineScope
import dispatch.internal.test.Sample5
import dispatch.test.TestProvidedCoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
fun main() { 
   //sampleStart 
   class MyEspressoTest {

  @Before
  fun setUp() {
    ViewModelScopeFactory.set { MainImmediateIdlingCoroutineScope() }
  }
} 
   //sampleEnd
}
import dispatch.android.espresso.MainImmediateIdlingCoroutineScope
import dispatch.android.viewmodel.ViewModelScopeFactory
import dispatch.core.MainImmediateCoroutineScope
import dispatch.internal.test.Sample5
import dispatch.test.TestProvidedCoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
fun main() { 
   //sampleStart 
   class MyJvmTest {

  @Before
  fun setUp() {
    ViewModelScopeFactory.set { TestProvidedCoroutineScope() }
  }
} 
   //sampleEnd
}

Parameters

factory

sets a custom CoroutineScope factory to be used for all new instance creations until reset.

Sources

Link copied to clipboard