首先,我知道这个问题似乎是重复的。但是,最近没有其他问题可以解决。我已经尝试过了。
问题如下:
当使用带有Jacoco作为覆盖范围生成器的Android Studio内部“运行于覆盖范围”功能时,我没有获得RobolectricRunner测试的任何覆盖范围。
我的testOptions部分在我的应用程序级别build.gradle中:
testOptions {
reportDir = "$project.buildDir/test-results"
unitTests.returnDefaultValues = true
unitTests {
includeAndroidResources = true
}
}
我正在使用
AS 3.3
Gradle 4.10
classpath 'com.android.tools.build:gradle:3.2.0'
testImplementation "org.robolectric:robolectric:4.0.1"
compileSdkVersion 25 //this is a hard dependecy, can't change this one
我已经尝试了很多事情,甚至可以完全覆盖机器人,甚至可以在覆盖范围内运行我的测试,但是仍然保持在0%。
目前我没有对jacoco的任何特定引用,所以我认为我使用的是默认的Android Studio版本。如果有人可以指出如何找到该版本,我将不胜感激。
如果您需要任何其他信息,我会很乐意提供。
答案 0 :(得分:0)
我认为您应该尝试在测试单元中添加jacoco的特定配置,因此最终代码在这里:
testOptions {
reportDir = "$project.buildDir/test-results"
unitTests.all {
jacoco {
includeNoLocationClasses = true
jvmArgs '-noverify'
}
}
}