Android Studio中进行单元测试

在Android开发过程中,我们往往忽略了单元测试功能, 主要还能还是大家觉得 真机在手,运行调试特别直观。

不过如果我们能够养成单元测试的习惯,相信能更加提升我们应用开发的速度。

 

当我们创建一个Android Studio项目时,我们会发现项目结构中,多了一个test目录  src/test/java  这个目录,就是AS为了方便我们进行单元测试,而帮我们创建的目录。当然,我们也可以自己进行创建。同时,build.gradle中,还需要添加Junit测试依赖。

dependencies {
    compile fileTree(include: [*.jar], dir: libs)
    testCompile junit:junit:4.12
}

下面,就来创建一个简单的Junit单元测试。

Android Studio中进行单元测试



首先,我们需要在测试目录,创建一个测试类,这里我们创建的是Calculator运算类

package com.example.a1.myapplication;
 
/**
 * Created by 1 on 2017/8/21.
 */
 
public class Calculator {
    public double sum(double a, double b){
        return a+b;
    }
 
    public double substract(double a, double b){
        return a-b;
    }
 
    public double divide(double a, double b){
        return a/b;
    }
 
    public double multiply(double a, double b){
        return a*b;
    }
}

 

在该类中,我们写了加减乘除4个方法,然后,我们需要点击类名,右键/goto/test 生成测试类

Android Studio中进行单元测试

这时,在当前目录下,我们会生成一个CalculatorTest测试类

package com.example.a1.myapplication;
 
import org.junit.Before;
import org.junit.Test;
 
import static org.junit.Assert.*;
 
/**
 * Created by 1 on 2017/8/21.
 */
public class CalculatorTest {
    private Calculator mCalculator;
    @Before
    public void setUp() throws Exception {
        mCalculator = new Calculator();
    }
 
    @Test
    public void sum() throws Exception {
        assertEquals(6d, mCalculator.sum(1d, 5d), 0);
    }
 
    @Test
    public void substract() throws Exception {
        assertEquals(2d, mCalculator.substract(5d, 4d), 0);
    }
 
    @Test
    public void divide() throws Exception {
        assertEquals(3d, mCalculator.divide(20d, 5d), 1);
    }
 
    @Test
    public void multiply() throws Exception {
        assertEquals(12d, mCalculator.multiply(2d, 5d), 1);
    }
 
}

 

在该类中,setUp方法用来实例化我们的需要测试类,然后,在加减乘除方法调用assertEquals()方法,来计算测试结果,第一个参数,需要填入正确结果,第二个参数为

我们的方法调用,第三个参数为允许误差值。 这里,我们给第一个的参数正确,第二个计算结果错误 第三个计算结果在误差值内,第四个结果没在误差值之外

Android Studio中进行单元测试

最后,右键点击运行该类。

运行完成后,我们就可以在信息中查看运行结果,

Android Studio中进行单元测试

Android Studio中进行单元测试

上一篇:通过移动设备行为数据预测性别年龄


下一篇:安卓开发之应用上架的那些事儿