我认为Android Studio会在生成签名apk之前运行测试。
但AS并没有为我做到这一点。在打包我的apk之前并不好,我需要自己运行测试。
我不确定依赖或其他方式是否可以帮助我。我不确定天气我的build.gradle有错误。
gradle中的一些相关代码可能是这样的:
defaultConfig {
applicationId "com.xx.xx"
versionCode getDefaultVersionCode()
minSdkVersion 19
targetSdkVersion 19
}
dependencies {
testCompile 'org.robolectric:robolectric:3.0'
testCompile 'junit:junit:4.12'
}
我没有写 testOption 。
我的目录是这样的(前面的内容是包名):
答案 0 :(得分:6)
要运行所有可用的测试,在构建版本时,使构建版本的任务(例如assembleRelease
)取决于测试任务:
android {
// ...
}
afterEvaluate {
assembleRelease.dependsOn testReleaseUnitTest, connectedAndroidTest
}
afterEvaluate
闭包在评估后执行(当创建android任务时)。此时,android任务可以作为变量引用。
您可以使用testReleaseUnitTest
代替test
,release
运行所有变体的单元测试。
请注意,默认情况下,您的应用的assembleRelease
版本没有任何检测测试(使用connectedAndroidTest
构建)。因此,在上面的示例中,debug
仅运行name
版本的检测测试。
答案 1 :(得分:2)
我不熟悉Android开发,但我认为您可以通过在build.gradle中的某处添加它来实现您的意图:
sign.dependsOn test
其中 sign 是apk任务的签名(与 gradle tasks 同名)。