《Gradle for Android》笔记(6):测试

cover

单元测试 - JUnit

  • 默认JUnit测试文件在main同级的test目录下。
  • JUnit测试成功输出:BUILD SUCCESS
  • 包含多重构建的项目,可以添加如testPaid的目录进行针对性测试。
  • Gradle命令。
    1
    2
    3
    4
    5
    6
    7
    8
    // 运行测试
    gradlew test
    // 针对某个构建测试
    gradlew testDebug
    // 在一个构建测试失败之后,继续执行其他构建。
    gradlew test —continue
    // 指定测试类
    gradlew testDebug —tests=“*.LogicTest*
  • 测试报告:/build/reports/tests/debug/index.html

单元测试 - Robolectric

  • Robolectric用于依赖于Android SDK的单元测试,但是依然运行于JVM,所以速度相比于Espresso更快。
  • 官网: Robolectric
  • 测试类注解
    1
    @RunWith(RobolectricTestRunner.class)

功能测试 - Espresso

  • 官网: Espresso
  • 配置testRunner

    1
    2
    3
    defaultConfig {
    testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner"
    }
  • 添加依赖(AndroidStudio默认添加)

    1
    2
    3
    4
    5
    6
    7
    8
    dependencies {
    // App's dependencies, including test
    compile 'com.android.support:support-annotations:22.2.0'

    // Testing-only dependencies
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    }
  • 移除依赖中的冲突。

    1
    2
    3
    4
    5
    android { 
    packagingOptions {
    exclude 'LICENSE.txt'
    }
    }
  • 报告路径:build/outputs/reports/androidTests/connected

测试覆盖率 - Jacoco

其他文章