Jon*_*Lin 31 android gradle android-studio
目前还没有这方面的惯例,但是我如何构建Android Studio的测试目录,现在Android测试基础页面上的内容有何不同?
特别是,任何有关如何在Android Studio上运行jUnit测试的指针都会有所帮助,谢谢.
此外,使用该android工具现在并没有真正帮助,因为与Android Studio有些不同.
更新:
我尝试设置测试文件夹并运行它,但我得到的是以下内容:
Running tests
Test running startedTest running failed: Unable to find instrumentation info for:ComponentInfo{<project-package-name>/android.test.InstrumentationTestRunner}
Empty test suite.
Run Code Online (Sandbox Code Playgroud)
我还尝试在那里添加一个标准的AndroidManifest.xml文件用于测试.
rob*_*ter 59
UPDATE
从Build Tools 19.1.0开始构建插件0.11.0 build.gradle文件需要将testPackageName重命名为testApplicationId(也应将packageName重命名为androidId)
从构建插件0.9.0 instrumentTest文件夹重命名为androidTest.这就是我们测试所需的全部内容.
这是0.11.+ DSL的示例
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 19
versionCode 1
versionName "1.0"
androidId "org.homelab.lab"
testApplicationId "org.homelab.lab.test"
testInstrumentationRunner "org.homelab.lab.test.Runner"
}
...
}
Run Code Online (Sandbox Code Playgroud)
GOTCHAS:如果您的构建文件包含testPackageName和testInstrumentationRunner的定义,请将其删除
对于版本0.5.0 - 0.8.+
Android Studio使用Gradle插件版本0.5.+,遵循Gradle SourceDir原则.

如何使其工作:
1.update SDK 2.安装
或更新Gradle到1.6(报告1.7的问题)或坚持使用gradle包装
3.不要使用Android Studio运行检测任务,使用gradle命令
gradle connectedCheck
Run Code Online (Sandbox Code Playgroud)
4.不要使用相同的包测试和主apk
5.使用浏览器检查结果
<project>/build/reports/instrumentTests/index.html
Run Code Online (Sandbox Code Playgroud)
问题:
如果测试包和主包是相同的,它可能会创建空的TestSuite.结果具有误导性,因为Gradle报告没有问题,但报告显示没有Class已经过测试.
编辑:
以下是build.gradle的一部分,它配置0.9.0之前所需的仪器测试:
android {
compileSdkVersion 14
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
testPackageName "org.homelab.lab.test"
testInstrumentationRunner "org.homelab.lab.test.Runner"
}
...
}
Run Code Online (Sandbox Code Playgroud)
示例项目https://github.com/swavkulinski/android-studio-instrumentation-test
| 归档时间: |
|
| 查看次数: |
30089 次 |
| 最近记录: |