Extract base test classes to separate module

This commit is contained in:
Kirill Kamakin
2022-11-12 13:52:56 +01:00
parent cb23f1a62d
commit 4dcf1cc915
7 changed files with 37 additions and 0 deletions

View File

@@ -1,33 +0,0 @@
package gq.kirmanak.mealient.test
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import gq.kirmanak.mealient.logging.Logger
import io.mockk.MockKAnnotations
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.setMain
import org.junit.After
import org.junit.Before
import org.junit.Rule
@OptIn(ExperimentalCoroutinesApi::class)
open class BaseUnitTest {
@get:Rule
val instantExecutorRule = InstantTaskExecutorRule()
protected val logger: Logger = FakeLogger()
@Before
open fun setUp() {
MockKAnnotations.init(this)
Dispatchers.setMain(UnconfinedTestDispatcher())
}
@After
fun tearDown() {
Dispatchers.resetMain()
}
}

View File

@@ -1,34 +0,0 @@
package gq.kirmanak.mealient.test
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.logging.MessageSupplier
class FakeLogger : Logger {
override fun v(throwable: Throwable?, tag: String?, messageSupplier: MessageSupplier) {
print("V", throwable, messageSupplier)
}
override fun d(throwable: Throwable?, tag: String?, messageSupplier: MessageSupplier) {
print("D", throwable, messageSupplier)
}
override fun i(throwable: Throwable?, tag: String?, messageSupplier: MessageSupplier) {
print("I", throwable, messageSupplier)
}
override fun w(throwable: Throwable?, tag: String?, messageSupplier: MessageSupplier) {
print("W", throwable, messageSupplier)
}
override fun e(throwable: Throwable?, tag: String?, messageSupplier: MessageSupplier) {
print("E", throwable, messageSupplier)
}
private fun print(
level: String,
throwable: Throwable?,
messageSupplier: MessageSupplier,
) {
println("$level ${messageSupplier()}. ${throwable?.stackTraceToString().orEmpty()}")
}
}

View File

@@ -1,22 +0,0 @@
package gq.kirmanak.mealient.test
import androidx.test.ext.junit.runners.AndroidJUnit4
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltTestApplication
import org.junit.Before
import org.junit.Rule
import org.junit.runner.RunWith
import org.robolectric.annotation.Config
@RunWith(AndroidJUnit4::class)
@Config(application = HiltTestApplication::class, manifest = Config.NONE)
abstract class HiltRobolectricTest {
@get:Rule
var hiltRule = HiltAndroidRule(this)
@Before
fun inject() {
hiltRule.inject()
}
}