Android(安卓)测试代码编写小技巧 - UI 和 单元测试间共享代码
16lz
2021-12-04
默认的情况下,Android studio会帮助默认建立两个不同的测试 folder - 单元测试 (就是 java 的单元测试用例,独立于Android 不需要跑在 Android 设备上),另一个就是 Android 测试用例,主要是UI相关的,这类 case 必须要运行在 android 设备上。
正常情况下,默认建立的结构如下:
1.png这样带来的问题就是,我们在编写测试用例的时候,很多时候不是独立,而是有关联的,是需要在两个测试用例中共享一些代码,比如说有个类叫做 TestUils.java,在两种测试用例中都需要用到。
实际上,单元测试和 UI 测试本身之间是独立,比如如何在 test 文件下的文件在 androidTest 下都是不可见的。
幸运的是,gradle 的灵活实际上还是可以做到这件事情的。
创建一个共享的测试文件夹
怎么做呢?首先是先在 app/src 下创建一个文件夹,这里就叫做testShared,现在的目录将变成下面的样子:
2.png接下来在这个 folder 下新建一个类 TestUtils.java,这个就是我们想要共享的类:
3.png然后核心的地方,是去修改 app/build.gradle 这个文件,按照下面的方式修改:
android.sourceSets { test { java.srcDirs += "$projectDir/src/testShared" } androidTest { java.srcDirs += "$projectDir/src/testShared" }}
这样我们就告诉了测试用例在编译的时候同样编译 testShared这个folder,类似于追加一个其他目录下的文件来编译。
现在,重新做 gradle sync 后,你就应该可以在你的 UI 和 单元测试用例中调用这个共享的类了:
4.png
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- 基于 android 数据备份恢复的一种实现
- Android第十八课 VS源码文件导入Android工程 中文乱码
- android资料共享
- android drawable-hdpi xhdpi xxhdpi xxxhdpi 的理解
- Android中的各种XML
- Android(安卓)应用程序快速启动的秘诀
- 瘸腿蛤蟆笔记cocos2d-x-3.2移植到到android步骤及问题定位