小编Moh*_*wia的帖子

测试 Worker 实现( android workmanager )

我正在尝试测试一个简单的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

2
推荐指数
1
解决办法
1516
查看次数