我认为
Android Studio将在生成签名apk之前运行测试.
但AS并没有为我做到这一点.在打包我的apk之前不好,我需要自己运行测试.
我不确定dependsOn或其他方式是否可以帮助我.我不确定天气我的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.
我的目录是这样的(前面的内容是包名):
解决方法
要运行所有可用的测试,在构建版本时,使构建版本的任务(例如assembleRelease)取决于测试任务:
android { // ... } afterEvaluate { assembleRelease.dependsOn testReleaseUnitTest,connectedAndroidTest }
afterEvaluate闭包在评估之后执行(当创建android任务时).此时android任务可以作为变量引用.
您可以使用test来代替testReleaseUnitTest,该测试运行所有变体的单元测试.
请记住,默认情况下,您的应用发布版本没有任何检测测试(使用assembleRelease构建).因此,在上面的示例中,connectedAndroidTest仅运行调试版本的检测测试.