假如你有一款安卓应用,其包含一系列测试类,其中一部分是unit 测试(位于 src/test
),其余为instrument 测试(位于 src/androidTest
)。
那么问题来了:你有一些想在所有测试之间共享的实用程序代码,但是 src/test
无法使用来自 src/androidTest
的代码,反之亦然。虽然 也可以 把代码放入 src/main
中,但还是想尽量避免移动测试代码。那么,到底怎样在测试之间共享代码呢?
我想到的解决办法就是,利用源集 (source sets)定义公共代码。首先,将共享测试代码放入 src/sharedTest/java1
中,然后往 build.gradle
中添加如下代码:
android {
sourceSets {
String sharedTestDir = 'src/sharedTest/java'
test {
java.srcDir sharedTestDir
}
androidTest {
java.srcDir sharedTestDir
}
}
}
以上代码会将共享代码目录 添加 到 test
和 androidTest
源集(source sets)中。现在,这些源集中不仅包括默认的 Java 源码,还包括共享代码。
哈哈!现在 test
和 androidTest
就可以共享实用程序代码了。
OneAPM Mobile Insight以真实用户体验为度量标准进行 Crash 分析,监控网络请求及网络错误,提升用户留存。访问 OneAPM 官方网站感受更多应用性能优化体验,想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客