相关疑难解决方法(0)

在Android junit测试用例中获取测试项目的上下文

有谁知道如何在Android junit测试用例中获得Test项目的上下文(扩展AndroidTestCase).

注意:测试不是仪器测试.

注2:我需要测试项目的上下文,而不是测试的实际应用程序的上下文.

我需要这个从测试项目的资产加载一些文件.

junit android

100
推荐指数
8
解决办法
6万
查看次数

不推荐使用androidx.test.InstrumentationRegistry

切换到AndroidX并收到已弃用:import androidx.test.InstrumentationRegistry

如果我下次导入:import androidx.test.platform.app.InstrumentationRegistry 我不能getContext()

例如: val context = InstrumentationRegistry.getContext()

在build.gradle中:

androidTestImplementation 'androidx.test.ext:junit:1.0.0-beta02'
androidTestImplementation 'androidx.test:runner:1.1.0-beta02'
Run Code Online (Sandbox Code Playgroud)

android deprecated androidx

34
推荐指数
4
解决办法
1万
查看次数

未解决的参考:测试

我正在尝试在我当前在Kotlin中编写的android项目中编写简单的集成测试.

问题是测试没有事件启动并因以下错误而失败:

Error:(4, 36) Unresolved reference: testing
Error:(18, 52) Unresolved reference: InstantTaskExecutorRule
Error:Execution failed for task ':app:kaptGenerateStubsDebugAndroidTestKotlin'.
> Compilation error. See log for more details
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索这个问题,但没有成功.

我已经尝试过的步骤:

  1. 检查是否安装了包含InstantTaskExecutorRule的库,我可以深入了解这个包(是的,我可以)
  2. 检查我的测试是否放在正确的文件夹中(是的,它在androidTest)
  3. 检查我是否正确启动了测试(可能是我通过右键单击包启动它们pkgName (androidTest)然后"在...中运行测试")

我也尝试将我的源目录从java重命名为koltin,并设置正确的值sourceSets但由于没有成功而将其更改回来,并认为这不是原因.

重要通知:

如果我评论该行import android.arch.core.executor.testing.InstantTaskExecutorRule和所有代码InstantTaskExecutorRule(意味着整个测试逻辑将为空)并放置一个简单assert的例子,那么一切正常.

但是我想用这个特别的东西InstantTaskExecutorRule,想知道问题到底是什么以及如何解决它,或者至少知道我应该在哪里找什么.

这是我的测试代码:

import android.arch.core.executor.testing.InstantTaskExecutorRule
import android.arch.persistence.room.Room
import android.support.test.InstrumentationRegistry
import android.support.test.runner.AndroidJUnit4

import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import com.myapp.storage.base.AppDataBase


@RunWith(AndroidJUnit4::class)
class UserDaoTest{
    @JvmField @Rule val instantTaskExecutorRule = …
Run Code Online (Sandbox Code Playgroud)

android integration-testing kotlin android-architecture-components

12
推荐指数
2
解决办法
5055
查看次数