test
inline suspend fun <S : MVIState, I : MVIIntent, A : MVIAction> LazyPlugin<S, I, A>.test(initial: S, timeTravel: TimeTravel<S, I, A> = TimeTravel(), crossinline configuration: StoreConfigurationBuilder.() -> Unit = { debuggable = true }, crossinline block: suspend PluginTestScope<S, I, A>.() -> Unit)
A function that runs a test on a StorePlugin.
This function suspends until the test is complete.
The plugin may launch new coroutines, which will cause the test to suspend until the test scope is exited.
The plugin may produce side effects which are tracked in the PluginTestScope.timeTravel property.
The plugin may change the state, which is accessible via the PluginTestScope.state property.
You can use TestPipelineContext which is provided with the PluginTestScope, to set up the plugin's environment for the test.