Android Studio 3 / Kotlin代码覆盖

我的Android应用程序是多模块项目:

include (android-app/kotlin-android)':application', (pure kotlin)':presentation', (pure kotlin)':domain', (android-library/kotin-android)':dataproviders' 

我正在使用Junit / Mockito进行测试,并且只有为kotlin android模块生成代码覆盖的问题。 代码覆盖率报告 经过测试的行对于android studio是可见的。

在ui.viewmodel包中测试类:

测试线kotlin-android模块

但是,对于纯粹的kotlin (例如,域,演示)测试覆盖工作正常: 代码覆盖报告纯kotlin模块

我正在使用Android Studio 3.0 Canary 8您可以在github上查看我的build.gradle文件:

的build.gradle

dependencies.gradle

application.build.gradle

presentation.build.gradle

Android应用程序模块中的示例测试:

MostPopularViewModelTest

纯kotlin模块中的示例测试:

MostPopularPresenterTest

有人可以帮我解决我的问题吗? 我尝试通过Jacoco生成代码覆盖,但它也没有显示代码覆盖率。

解决方法是将这个gradle任务添加到build.gradle模块中:

 task copyTestClasses(type: Copy) { from "build/tmp/kotlin-classes/debugUnitTest" into "build/intermediates/classes/debug" } 

并运行:

 gradlew copyTestClasses 

然后生成没有问题的代码覆盖报告。