我试图检查我在Kotlin中编写的测试用例的代码覆盖率。 当我执行./gradlew createDebugCoverageReport –info ,我的coverage.ec文件是空的,我的报告显示我有0%的覆盖率。 请注意,测试用例是100%成功的。 任何人都可以想到任何原因,我的coverage.ec文件不断返回0字节? 我到处搜寻没有运气。 apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'jacoco' android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { debug { testCoverageEnabled = true } release { minifyEnabled false testCoverageEnabled = true proguardFiles […]
在编译过程中,用inline关键字标记的Kotlin函数是内联的,似乎代码覆盖工具(如JaCoCo )无法正确计算代码覆盖率。 克服这个问题的常用方法是什么? 有没有办法让测试以某种方式避免内联步骤,并直接调用测试方法? 是否有可能跳过所有内联方法的报告生成(例如通过Gradle任务),而不排除整个类?
我的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 Studio 3.0 Canary 8您可以在github上查看我的build.gradle文件: 的build.gradle dependencies.gradle application.build.gradle presentation.build.gradle Android应用程序模块中的示例测试: MostPopularViewModelTest 纯kotlin模块中的示例测试: MostPopularPresenterTest 有人可以帮我解决我的问题吗? 我尝试通过Jacoco生成代码覆盖,但它也没有显示代码覆盖率。