我有一个基本的Android项目,其中包含一个应用程序源目录,并测试Android项目模板设置的源目录。
我已经读过Android测试使用特定于运行测试的Androidmanifest.xml,我们必须在其中指定检测类型和目标包:
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.mypackage.app" />
在Android Studio中,我可以使用Android测试配置运行测试,而不用指定特定于我的测试的AndroidManifest.xml文件(我的测试源中没有AndroidManifest.xml文件)。
当我在Android Studio中运行测试时,我可以看到我的应用程序在测试运行之前已部署,然后我的测试已启动。因此,我猜测Android Studio自己管理测试过程以及特定于测试的AndroidManifest.xml的生成。
我说错了吗?
答案 0 :(得分:3)
根据Android Gradle插件(http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing)的文档,描述如何为Android测试设置源集:
sourceSet不应包含AndroidManifest.xml,因为它是自动生成的。
您可以直接为构建文件配置测试的参数,例如InstrumentationTestRunner,如下所示:
android {
defaultConfig {
testPackageName "com.test.foo"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
testHandleProfiling true
testFunctionalTest true
}
}
答案 1 :(得分:3)
因为Android Gradle插件更新,根据Scott Barta的回答,现在你可能这样写:
android {
defaultConfig {
testApplicationId "com.test.foo"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
testHandleProfiling true
testFunctionalTest true
}
}