我正在尝试测试一个简单的CoroutineWorker使用AndroidJUnit4,如官方文档
提到的
我的测试和错误:
package com.shalaga44.workmanager
import android.content.Context
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.work.testing.TestListenableWorkerBuilder
import kotlinx.coroutines.runBlocking
import org.hamcrest.Matchers.`is`
import org.junit.Assert.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class SleepWorkerTest {
private lateinit var context: Context
@Before
fun setUp() {
context = ApplicationProvider.getApplicationContext() }
@Test
fun testSleepWorker() {
val worker = TestListenableWorkerBuilder<SleepWorker>(context).build()
runBlocking {
val result = worker.doWork()
assertThat(result, `is`(Result.success())) //The Error here
//Type inference failed. Please try to specify type arguments explicitly.
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的工人: …
junit unit-testing kotlin android-architecture-components android-workmanager