假如你有一款安卓应用,其包含一系列测试类,其中一部分是 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 官方技术博客。
染头发
聚一聚……
染头发
教育局……
你好
嗯讲得一般……
星雾
Lambda表达式的条件限制很多,应用面不多,我不知道是否应该要花时间来掌握这个表达式,求解……
修道小仙
感谢分享,来龙去脉,深入浅出,非常清晰……
小布丁
写的棒棒哒……
小布丁
写的真可以……
wuxin
受教了……
爱码物联
博客使用……
yancy_01
很喜欢文字的描述,特别是理论性质的,相比于代码,理论知识更加有意思,谢谢分享……