相关疑难解决方法(0)

Android Studio 3是否支持用于Android开发的Java 9?如果是这样,支持Java 9的哪些功能?

我将安装Android Studio 3以开发Android应用程序.

我想知道是否可以使用Java 9进行Android开发?如果是这样,它是否支持所有Java 9功能?

android java-9 android-studio-3.0

37
推荐指数
3
解决办法
2万
查看次数

如何在单元测试中获取上下文以在内存数据库对象中创建 Room 数据库

我正在尝试在执行数据库插入的应用程序存储库类中测试这个函数。我正在Koin用作我的依赖注入库。为了进行测试,我需要创建一个内置于内存的数据库版本。要创建该数据库,我需要 Android 应用程序上下文。所以我创建了我的测试类,如下所示。

import android.content.Context
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import androidx.room.Room
import androidx.test.core.app.ApplicationProvider
import androidx.test.platform.app.InstrumentationRegistry
import com.chathuranga.shan.mycontacts.di.applicationModule
import com.chathuranga.shan.mycontacts.di.repositoryModule
import com.chathuranga.shan.mycontacts.room.AppDatabase
import org.junit.After
import org.junit.Test

import org.junit.Before
import org.junit.Rule
import org.koin.android.ext.koin.androidContext
import org.koin.core.context.loadKoinModules
import org.koin.core.context.startKoin
import org.koin.core.context.stopKoin
import org.koin.dsl.module
import org.koin.test.KoinTest
import org.koin.test.inject
import org.mockito.MockitoAnnotations

class ContactRepositoryTest : KoinTest {

    private val contactRepository: ContactRepository by inject()
    private lateinit var appDatabase: AppDatabase

    @get:Rule
    val rule = InstantTaskExecutorRule()

    @Before
    fun setUp() {

        startKoin {
            printLogger()
            modules(listOf(applicationModule,repositoryModule))
        }

        MockitoAnnotations.initMocks(this)

        val context = ApplicationProvider.getApplicationContext<Context>() …
Run Code Online (Sandbox Code Playgroud)

android unit-testing kotlin koin

8
推荐指数
1
解决办法
3308
查看次数