Android Studio 中测试支持库的来源
sources of Testing Support Library in Android Studio
如何附加来自 android.support.test.*
的源代码以便在 AS 中进行调试?
尝试从 https://android.googlesource.com/platform/frameworks/testing 下载源代码,但版本似乎与我的测试库版本不匹配。
测试源(例如 AndroidJunitRunner
)似乎无法通过 sdk 管理器获得,我是不是遗漏了什么?
您可以使用 Espresso 进行 UI 测试,并使用 Robolectric + JUnit + Mockito 进行单元测试。
使用 AndroidJunitRunner,将其添加到 build.gradle,例如:
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
使用一些包android.support.test。*你需要添加像
这样的依赖
dependencies {
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.0') {
exclude module: 'support-annotations'
}
}
最近遇到这个问题,现在解决了。
添加以下依赖和Sync Project with Gradle file
后,我在External Library
文件夹中找不到任何相关库。
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1'
我做的是把所有的androidTestCompile
替换成compile
和Sync Project with Gradle file
。我可以看到相关的图书馆。
最后,我将 compile
替换回 androidTestCompile
并再次替换 Sync Project with Gradle file
。相关库还在。
我想post图片,使它更清楚,但我是新来的,不会post图片。
希望对您有所帮助。
我遇到了类似的问题,花了相当多的时间才弄明白。这似乎是一个错误,因为缺少 Gradle 任务未执行,因为 SAME 配置曾经工作但在升级到 AS v1.2+ 后不再工作。
首先,以下依赖项已过时。
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
并在documentation中更新如下。
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
...
默认配置应像往常一样包含以下行。
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
此外,请确保 Android 支持存储库已通过 SDK 管理器安装。
如果android.support.test.*无法解析,则手动执行Gradle任务如下
- 单击右侧的 Gradle 选项卡。
- 折叠您的 Android 模块并浏览任务节点。
- 双击执行other->generateDebugAndroidTestSources
如果成功,问题可能就解决了。至少,它对我有用。
更新:
似乎在 AS 2.1.2 上仍有可能发生这种情况。需要注意的是,如果你有多个 Android 模块,运行 来自一个特定的 gradle 任务 generateDebugAndroidTestSources
应该足够所有人,尤其是 Android图书馆模块一。
如何附加来自 android.support.test.*
的源代码以便在 AS 中进行调试?
尝试从 https://android.googlesource.com/platform/frameworks/testing 下载源代码,但版本似乎与我的测试库版本不匹配。
测试源(例如 AndroidJunitRunner
)似乎无法通过 sdk 管理器获得,我是不是遗漏了什么?
您可以使用 Espresso 进行 UI 测试,并使用 Robolectric + JUnit + Mockito 进行单元测试。
使用 AndroidJunitRunner,将其添加到 build.gradle,例如:
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
使用一些包android.support.test。*你需要添加像
这样的依赖dependencies {
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.0') {
exclude module: 'support-annotations'
}
}
最近遇到这个问题,现在解决了。
添加以下依赖和Sync Project with Gradle file
后,我在External Library
文件夹中找不到任何相关库。
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1'
我做的是把所有的androidTestCompile
替换成compile
和Sync Project with Gradle file
。我可以看到相关的图书馆。
最后,我将 compile
替换回 androidTestCompile
并再次替换 Sync Project with Gradle file
。相关库还在。
我想post图片,使它更清楚,但我是新来的,不会post图片。 希望对您有所帮助。
我遇到了类似的问题,花了相当多的时间才弄明白。这似乎是一个错误,因为缺少 Gradle 任务未执行,因为 SAME 配置曾经工作但在升级到 AS v1.2+ 后不再工作。
首先,以下依赖项已过时。
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
并在documentation中更新如下。
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
...
默认配置应像往常一样包含以下行。
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
此外,请确保 Android 支持存储库已通过 SDK 管理器安装。
如果android.support.test.*无法解析,则手动执行Gradle任务如下
- 单击右侧的 Gradle 选项卡。
- 折叠您的 Android 模块并浏览任务节点。
- 双击执行other->generateDebugAndroidTestSources
如果成功,问题可能就解决了。至少,它对我有用。
更新:
似乎在 AS 2.1.2 上仍有可能发生这种情况。需要注意的是,如果你有多个 Android 模块,运行 来自一个特定的 gradle 任务 generateDebugAndroidTestSources
应该足够所有人,尤其是 Android图书馆模块一。