美文网首页andriod学习android开发技巧Android技术知识
Android 测试代码编写小技巧 - UI 和 单元测试间共享

Android 测试代码编写小技巧 - UI 和 单元测试间共享

作者: gtechoogle | 来源:发表于2016-10-31 14:31 被阅读172次

    默认的情况下,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

    相关文章

      网友评论

      本文标题:Android 测试代码编写小技巧 - UI 和 单元测试间共享

      本文链接:https://www.haomeiwen.com/subject/qylputtx.html