Android 单元测试框架 Robolectric

2016-04-01  本文已影响368人  三季人

参考文档

Robolectric 简介

<code>Instrumentation</code>与<code>Roboletric</code>都是针对 Android 进行单元测试的框架,前者在执行 case 时候是以 Android JUnit 的方式运行,因此必

须在真实的 Android 环境中运行(模拟器或者真机),而后者则是以 Java Junit 的方式运行,这里就脱离了对 Android 环境的依赖,而可以直接将 case 在 JVM 中运行,大赞

,因此很适合将 Roboletric 用于 Android 的测试驱动开发。

新建 Android Project

新建 一个Android 项目( RoboletricDemo ),一路默认,这里就不帖 MainActivity 的代码,代码很简单,该示例的主界面是一个 TextView,显示的内容为 Hello world!
,界面中还有一个 Button,点击 Button,TextView 的内容会变为Hello xuxu!
,呵呵。。

配置 Gradle

在 Build Variants 面板中选择 Unit Tests

现在,万事俱备,让我们开始写第一个测试吧。首先,创建一个非常简单的被测类:Calculator类。

Calculator.java

package com.example.testing.testingexample;

public class Calculator {

public double sum(double a, double b){
    return 0;
}

public double substract(double a, double b){
    return 0;
}

public double divide(double a, double b){
    return 0;
}

public double multiply(double a, double b){
    return 0;
}
}

注意
Android Studio提供了一个快速创建测试类的方法。只需在编辑器内右键点击Calculator类的声明,选择Go to > Test,然后"Create a new test…"

在打开的对话窗口中,选择JUnit4和"setUp/@Before",同时为所有的计算器运算生成测试方法。

这样,就会在正确的文件夹内(app/src/test/java/com/example/testing/testingexample)
生成测试类框架,在框架内填入测试方法即可。下面是一个示例:

Calculator.java

 package com.example.testing.testingexample;

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

public class CalculatorTest {

private Calculator mCalculator;

@Before
public void setUp() throws Exception {
    mCalculator = new Calculator();
}

@Test
public void testSum() throws Exception {
    //expected: 6, sum of 1 and 5
    assertEquals(6d, mCalculator.sum(1d, 5d), 0);
}

@Test
public void testSubstract() throws Exception {
    assertEquals(1d, mCalculator.substract(5d, 4d), 0);
}

@Test
public void testDivide() throws Exception {
    assertEquals(4d, mCalculator.divide(20d, 5d), 0);
}

@Test
public void testMultiply() throws Exception {
    assertEquals(10d, mCalculator.multiply(2d, 5d), 0);
  }
}

运行单元测试

终于到运行测试的时候了!右键点击CalculatorTest
类,选择Run > CalculatorTest。也可以通过命令行运行测试,在工程目录内输入:

./gradlew test

查看报告
执行完测试之后,会在 app/build/reports/tests/
目录下生成相应地测试报告,使用浏览器打开

上一篇下一篇

猜你喜欢

热点阅读