testProvided
Delegates to runBlockingTest, but injects a DispatcherProvider into the created TestCoroutineScope.
If the context's ContinuationInterceptor is not a TestCoroutineDispatcher, then a new TestCoroutineDispatcher will be created.
If the context does not contain a DispatcherProvider, a TestDispatcherProvider will be created using the TestCoroutineDispatcher.
Samples
import dispatch.internal.test.Sample5
import dispatch.test.TestProvidedCoroutineScope
import dispatch.test.runBlockingProvided
import dispatch.test.testProvided
import io.kotest.matchers.shouldBe
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.jupiter.api.Test
fun main() {
//sampleStart
@Test
fun someTest() = testProvided {
val subject = SomeClass(this)
val myData = Data()
subject.dataDeferred()
.await() shouldBe myData
}
//sampleEnd
}See also
Parameters
The base CoroutineContext which will be modified to use a TestCoroutineDispatcher and TestDispatcherProvider. EmptyCoroutineContext is used if one is not provided.
the action to be performed
Delegates to runBlockingTest, but injects a DispatcherProvider into the created TestCoroutineScope.
If the context's ContinuationInterceptor is not a TestCoroutineDispatcher, then a new TestCoroutineDispatcher will be created.
If the context does not contain a DispatcherProvider, a TestDispatcherProvider will be created using the TestCoroutineDispatcher.
Samples
import dispatch.internal.test.Sample5
import dispatch.test.TestProvidedCoroutineScope
import dispatch.test.runBlockingProvided
import dispatch.test.testProvided
import io.kotest.matchers.shouldBe
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.jupiter.api.Test
fun main() {
//sampleStart
@Test
fun someTest() = testProvided {
val subject = SomeClass(this)
val myData = Data()
subject.dataDeferred()
.await() shouldBe myData
}
//sampleEnd
}import dispatch.internal.test.Sample5
import dispatch.test.TestProvidedCoroutineScope
import dispatch.test.runBlockingProvided
import dispatch.test.testProvided
import io.kotest.matchers.shouldBe
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.jupiter.api.Test
fun main() {
//sampleStart
val scope = TestProvidedCoroutineScope()
@Test
fun someTest() = scope.testProvided {
val subject = SomeClass(this)
val myData = Data()
subject.dataDeferred()
.await() shouldBe myData
}
//sampleEnd
}