第六章 运行测试

作者: 红酥手黄藤酒丶 | 来源:发表于2018-12-12 19:48 被阅读0次

第六章 运行测试

一、单元测试

Android StudioGradleAndroid 插件原生支持单元测试,但在使用它们之前需要做一些配置。

1. JUnit

JUnit 可以很容易地编写测试,同时确保它们的可读性。
注: 这些特定的单元测试用力只对业务逻辑有效,对和 Android SDK 相关的代码无效

在 Android Studio 默认创建的 test 目录下放置 JUnit 测试用例:

image image

JUnit 的依赖项在使用 Android Studio 创建项目时会被自动导入:testImplementation 'junit:junit:4.12'

  • testImplementation :只会在运行测试时构建,用于不会被包含在 release 的 APK 中
  • 若有多个 flavor:可以使用 textXXImplementation 表示只想添加测试到 xx flavor 中

创建 Logic 类:

package zyf.com.junittest

/**
 * create by zyf on 2018/12/12 下午3:20
 */
class Logic {
    fun add(i:Int,j:Int):Int = i + j
}

ExampleUnitTest 类中编写测试用例:

class ExampleUnitTest {

    @Test
    fun addingNegativeNumberShouldSubtract(){

        val logic = Logic()
        //描述信息,预期值,要测的代码
        assertEquals("6 + -2 === 4",6,logic.add(6,-2))
        assertEquals("2 + -5 === -3",-3,logic.add(2,-5))

    }
}

执行 gradlew testDebug

image

file:///Users/zyf/Desktop/JunitTest/app/build/reports/tests/testDebugUnitTest/index.html 文件中可以查看 单元测试报告:

image
image

注: gradlew testDebug 执行测试用例,若一个 @Test 不通过,则不会继续执行后续的测试用例,若想 debug版本 执行整套测试用例,可以加入 -continue 选项:
gradlew testDebug -continue,若想所有的 构建variant 都执行整套的测试用例:gradlew test -continue

注: 若不想运行整套测试用例,只想 debug版本 执行一个特定的测试类:gradlew testDebug --tests="*.ExampleUnitTest"

也可以直接在 Android Studio 中运行测试用例:


image

2. Robolectric

如果我们想测试 引用了 Android SDK 的代码,JUnit 无法满足我们的需求。
可以使用 Robolectric 测试框架,Robolectric 框架提供了一种简单的方法来测试 Android 的功能,而不需要设备或模拟器。
为了使用 Robolectric 需要添加一些依赖,除了 Robolectric ,还需要包含 JUnit ,如果使用了 Android support library,那么还需要 Robolectric shadow

使用失败,以后找机会单独搞一下测试

二、功能测试

功能测试用于测试应用中的几个组件是否可以一起正常工作。例如:你可以创建一个功能测试用例来确认某个按钮是否打开了一个新的 ActivityAndroid 中有几个功能测试框架,最简单最基础的测试框架是 Espresso 框架。

再次使用失败,以后找机会单独搞一下测试

三、总结

下一波吧,直接开始搞 自定义任务和插件了 学习 groovy

相关文章

  • 第六章 运行测试

    第六章 运行测试 一、单元测试 Android Studio 和 Gradle 的 Android 插件原生支持单...

  • 翻译:使用Xcode测试(四)——运行测试并查看结果(Runni

    使用Xcode测试导航可以很容易运行测试并查看结果。还有其他几种方式运行测试。Xcode基于测试target运行测...

  • 运行测试

    HttpRunner 在命令行中启动测试时,通过指定参数,可实现丰富的测试特性控制。hrun -husage: h...

  • 2018-08-31

    第六章 性能测试 压力测试流程?① 确定测试点② 针对测试点确定要达到的性能目标③ 对测试点执行压力测试④ 分析...

  • 使用Maven运行单元测试

    使用Maven运行单元测试 要通过Maven运行单元测试,发出此命令: 这会在你的项目中运行整个单元测试。 案例学...

  • Unittest-测试套件:用例加载与组织

    测试套件TestSuite,用于对测试用例的组织。测试用例组织好以后就可以使用运行器TestRunner运行测试套...

  • 测试报告发送到Jenkins服务器

    步骤一:搭建nginx 步骤二:运行测试测试用例,生成测试报告 运行自己的代码,生成测试报告 并把移动测试报告到n...

  • 刘琛梅老师谈功能运行(用户层面)

    功能性测试方法的多个子方法中都提到了运行,该如何理解“运行”这个概念呢? 运行:在软件测试中,测试者模拟的用户的“...

  • Maven常用命令

    mvn clean package 编译,运行测试用例并进行打包mvn clean install 编译,运行测试...

  • TestNG注解-@Before/@After

    @BeforeSuite在该套件中所有测试运行之前 运行,仅运行一次@AfterSuite在该套件中所有测试运行之...

网友评论

    本文标题:第六章 运行测试

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