在设备中执行时 JUnit 测试总是通过

JUnit tests always pass when executing in device

这个简单的测试

@RunWith(JUnit4::class)
class Test {

    @Test
    fun test() {
        assert(false)
    }

}

出乎意料的是,当放入 androidTest 时(通过 Android Studio 和终端),这会通过,但是当放入 test.[=13= 时显然会按预期失败]

您需要对 运行 测试使用 JUnit 断言。基本 assert() 功能通常在 运行 "production" 代码时被禁用,因此您不能指望普通 assert 语句会抛出断言异常。

使用:

org.junit.Asserts.assertTrue( false )

使测试正常失败。