Android-JUnit5 没有注册仪器!当获取上下文时

2024-04-06

我知道这是“常见”错误,但我正在尝试使 JUnit5 Android Room 测试正常工作。

我发现 JUnit5 不支持仪器测试(或者我应该说 google 不支持 JUnit 5),但我发现https://github.com/mannodermaus/android-junit5 https://github.com/mannodermaus/android-junit5应该可以帮助我。

我修改了我的 graddle,将插件添加到我的模块中,并将类路径添加到项目顶部。

classpath("de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1")

id("kotlin-android")

我还添加了其中的特定依赖项

androidTestImplementation("de.mannodermaus.junit5:android-test-core:1.2.2")
androidTestRuntimeOnly("de.mannodermaus.junit5:android-test-runner:1.2.2")

在我的模块的 android defaultConfig 中我添加了

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArgument("runnerBuilder", "de.mannodermaus.junit5.AndroidJUnit5Builder")

gradle 构建得很好,但问题是当我运行简单的测试时

class DbTest
{
private lateinit var myDao : MyDao

@BeforeEach
fun init()
{
    val context : Context = ApplicationProvider.getApplicationContext();
    val db = Room.inMemoryDatabaseBuilder(
        context,
        ConfigDatabase::class.java).build()

    tcdDao = db.getMyDao()
}

[...]
}

当我获取上下文时发生错误:

没有注册仪器!必须在注册工具下运行。

我想明确的是我cannot使用 JUnit4。

我错过了什么吗?我真的可以使用 JUnit5 测试我的数据库吗?或者我应该使用另一种解决方案?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android-JUnit5 没有注册仪器!当获取上下文时 的相关文章

  • 在哪里可以找到用于 EJB 测试的完整 Maven Cargo 插件示例?

    对于一些小型 JBoss 企业应用程序的测试 我想使用 JUnit 并且Maven 货物插件 http cargo codehaus org Maven2 plugin 我知道还有 JSFUnit 但首先我想仔细看看 Cargo 网上是否有
  • 更新数据库时 LiveData 列表不更新

    我目前正在重构遗留代码以使用 Android 架构组件 并在一种存储库模式中设置房间数据库和齐射请求 因此 表示 域层要求存储库获取 LiveData Objects 来观察或告诉他与服务器同步 然后删除旧的数据库条目并从服务器重新获取所有
  • ant-找不到符号@Test

    我正在尝试编译以下仅包含一个函数的类 公共类测试注释 Test public void testLogin System out println Testing Login 当我将文件作为 JUNIt 运行时 它可以工作 但是当我尝试从 b
  • 如何在 JUnit 测试中引导weld-se

    我有一个用于单元测试的 Maven 项目 并且想使用 CDI 我已将weld se 依赖项放入 pom xml 中 如下所示
  • JUnit 5 中的参数化 beforeEach/beforeAll

    我想为一个小型的类似数据库的应用程序编写一个测试 此应用程序使用查询 查询应返回正确的结果 这在 JUnit 5 中很容易实现 比如 BeforeEach void before database prepareDatabase Test
  • 在所有 SpringBootTest 中使用一个 Spring Boot 上下文

    我希望能够通过使用 junit 进行测试的不同类来缓存应用程序上下文 测试类是这样声明的 SpringBootTest RunWith SpringRunner class public class SomeIntegrationTest
  • JUnit 测试 Spymemcached 客户端

    我有一个类围绕spymemcached 客户端 我想编写一些JUnit 测试来测试getValue 和addKey 方法是否有效 问题是无法从测试服务器访问spymemcached 服务器 所以我想这里需要一些模拟 我的简化类看起来像这样
  • 使用 Ant 运行 JUnit 测试

    我正在尝试运行我的 JUnit 测试用例 但我不断收到错误 Test com capscan accentsWorld FAILED 报告已创建 但测试未运行 这是我的蚂蚁代码
  • 带有复合主键的 Room @Relation

    我的问题是这个问题的延伸 也是我的 gt 房间复合主键链接到外键 https stackoverflow com questions 50248668 room composite primary key link to foreign k
  • 如何在android中对Log.e进行单元测试?

    我需要执行单元测试 在应用程序中发生特定情况时 我需要检查是否记录错误消息 try do something catch ClassCastException IndexOutOfBoundsException e Log e INFOTA
  • Eclipse/Maven:运行 JUnit 测试时未编译它们

    我正在使用 Maven 和 Eclipse m2eclipse 插件 开发一个项目 我在 JUnit 测试中遇到问题 有时 当在 Eclipse 中运行它们时 它们不会被编译 而是使用旧的类文件 当我删除类文件时 我得到ClassNotFo
  • JUnit 使用 Mockito 测试异步方法

    我已经使用 Spring Framework 版本 5 0 5 RELEASE 在 Java 1 8 类中实现了异步方法 public class ClassToBeTested Autowired private MyComponent
  • Android Mockito.verify 说参数不同!打印相同内容

    情况 我有一个界面Tracker其中有这个方法 fun trackEvent event String args Bundle null 我想验证是否使用特定的调用此方法event 被测试的内部对象调用此方法Bundle目的 所有事件都指定
  • 使用 Gradle 运行单元测试时,最大堆大小在哪里设置?

    我有一个失败的 OOM 单元测试 并想知道为什么我需要手动允许更大的maxHeapSize像这样 test maxHeapSize 4G 我认为最大堆没有上限 并且在 gradle api 源中找不到任何东西来证明我错了 但是 运行 gra
  • JUnit 测试方法无法返回值

    为什么 JUnit 测试方法无法返回值 文档 https junit org junit5 docs current user guide writing tests classes and methods说 强调我的 测试方法和生命周期方
  • 如何将 Android Room 数据库中的 Not Null 表列迁移为 Null

    我是 Android 房间库的新手 我需要将 Not Null 列迁移到 Null 但房间迁移只允许在 ALTER 表查询中添加或重命名 如何执行列迁移查询 Entity tableName vehicle detail data clas
  • Android Room ORM:支持 SQLite 的自定义构建

    我需要使用 SQLite 的自定义构建 基于 sqlite org 版本https sqlite org android doc trunk www index wiki https sqlite org android doc trunk
  • 运行使用wiremock存根的多个测试用例时“选择器循环等待选择”

    我在用着wiremock http wiremock org 用于模拟网络服务 我使用它来提供对我们正在测试的某些单元的服务访问 所以基本上我们有多个junit测试 它们使用来自wiremock的存根 但是 当我们一次运行多个测试 假设运行
  • 尝试使用JavaConfig在Spring中编写junit测试

    我正在尝试为我的示例项目编写一个 junit 测试 但不知道如何访问 jUnit 测试中的 ApplicationContext 这是该项目的主要类 public static void main String args in this s
  • 有 JUnit Attachments Jenkins 插件工作的示例吗?

    在过去一个小时左右的时间里 我一直在努力让以下工作正常进行 我将附件存储在目标目录中 但它们在班级级别或测试级别的测试页面上都没有链接 我尝试了以下每种组合 放置附件文件夹target surefire reports class 与目标

随机推荐