【发布时间】:2016-09-26 15:53:06
【问题描述】:
直接在 IDE 中运行单个测试时,Android Studio 2.2 出现了奇怪的错误 - 我要么“未找到测试”,要么运行我之前编译的测试。
例子:
@Test
fun testyTest() {
}
我将创建此测试,并获得“未找到测试”。所以我重新启动,并找到测试!显然,上面的测试通过了,因为它是空的。接下来,我希望我的测试失败。所以我手动抛出异常并在下面添加一行代码。
@Test
fun testyTest() {
throw RuntimeException()
}
现在我重新编译,这个测试也通过了,因为 IntelliJ 出于某种原因缓存了以前的测试并重新运行它。要使此测试正确失败 - 我必须重新启动 IDE。
有人知道发生了什么吗?注意 - 我在这个项目中大量使用 Kotlin。
编辑 2:这是一个 android library 项目中的 JVM 测试(非 android,src/test/java)。
编辑:这是一个完整的测试类
package com.example.zak
import org.junit.Before
import org.junit.Test
class ExampleTest {
@Before
fun setUp() {
}
@Test
fun testyTest() {
//throw RuntimeException()
}
}
【问题讨论】:
-
你能添加你的测试类吗,只看到一点代码还不足以说明问题是什么
-
@piotrek1543 这不相关。一个完全空的测试将通过。如果向测试方法
throw RuntimeException()添加异常并重新编译然后重新运行测试,它会通过,因为 IntelliJ 以某种方式使用了错误的缓存。我必须重新启动 IDE 才能识别新的代码行 -
您是否在 Windows 机器上的 Android Studio 中运行测试?在运行 JUnit 测试时,我经常看到“未找到测试”错误。很少有谷歌开发者使用 Windows 平台——因此存在一些未解决的问题,部分原因是缺乏曝光。这是一个讨论:github.com/googlecodelabs/android-testing/issues/27
-
@JimAndreas 实际上在 Mac 上
-
在 JetBrains 跟踪器上发现错误报告 - 见下文。
标签: android-studio kotlin android-testing