【发布时间】:2017-08-22 13:56:57
【问题描述】:
我有一个简单的 Kotlin 类,如下所示
class MyClass {
fun justSayHello(yes: Boolean): String {
if (yes) {
return "Hello"
} else {
return "Sorry"
}
}
}
我有我的测试(这里用 Java 编写,也可以用 Kotlin 编写)
public class MyClassTest {
private MyClass myClass = new MyClass();
@Test
public void testFirst() {
myClass.justSayHello(true);
}
@Test
public void testSecond() {
myClass.justSayHello(false);
}
}
当我在 Android Studio 3.0 Beta-2 中使用 classpath 'com.android.tools.build:gradle:3.0.0-beta2' 运行覆盖率测试时,没有报告覆盖率。
但是当我使用classpath 'com.android.tools.build:gradle:2.3.3' 运行测试时,报告的覆盖率为 100%。
当我将源代码更改为 Java 时:
public class MyClass {
public String justSayHello(boolean yes) {
if (yes) {
return "Hello";
} else {
return "Sorry";
}
}
}
它适用于两个 gradle 构建工具
在我看来,'com.android.tools.build:gradle:3.0.0-beta2' 对 Kotlin 的测试覆盖率测量有问题。
我错过了什么吗?是否有一种解决方法可以让我在 Kotlin 中获得测试覆盖率?
【问题讨论】:
标签: android kotlin code-coverage jacoco android-studio-3.0