android - Unresolved reference : Matchers

标签 android junit kotlin hamcrest

当我导入 org.hamcrest.Matchers 时,我无法运行单元测试,因为我需要 lessThan()。我的仪器测试在使用 greaterThan 匹配器而不是单元测试时编译正确

代码:

import org.hamcrest.CoreMatchers.*
import org.hamcrest.Matchers.lessThan
import org.junit.Assert.assertThat
import org.junit.Test
import java.util.*

Gradle 日志:https://pastebin.com/ibgzzrg1

删除第二行使项目编译并运行测试。

最佳答案

在我的例子中,我在运行 Task :compileTestKotlin 时收到编译器错误“Unresolved reference: Matchers”。事实证明,我已将 hamcrest 依赖项声明为 testRuntimeOnly。将其更改为 testImplementation 解决了这个问题。

testImplementation("org.hamcrest:hamcrest:2.2")

查看文档很有趣here .

关于android - Unresolved reference : Matchers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52677128/

相关文章:

android - 在真实设备上通过 wifi 运行 monkeyrunner

java - 如何覆盖失败的 JUnit 测试用例的行为

java - 如何在标签 View android java中实现循环UI

list - Kotlin 列表中的连续整数组

android - 如何从图库中获取所选图像的路径

android - WebView Youtube 全屏模式

Android Facebook 登录问题?

java - 由模拟函数 Spring Boot 返回的 NPE

java - 错误: Cannot create PoolableConnectionFactory (isValid() returned false)

Android camera2 createCaptureRequest 获取YUV_420_888图像时返回全黑像素