美文网首页
你为什么要用单元测试

你为什么要用单元测试

作者: 雷根儿 | 来源:发表于2018-07-25 17:10 被阅读0次

前言:开发小白,做开发这么久今天才第一次知道了“单元测试”,而这篇文章也算是开始。想要学习更多。

单元测试是什么,做什么用呢?

1.单元测试,就是用来测试代码的。不过不用我们去模拟器或真机上点来点去。省时省力。
2.单元测试重在单元,就是代码段,我们可以对一个小的功能,一个方法来进行单独测试。有时我们想要检测自己写的代码是否正确,需要运行程序,如果我们的app资源很多,那这个过程是很久的。

准备工作

需要导入包 junit:一个单元测试工具
我开发用的AS(Android Studio),它在你创建新的项目的时候自动导入


junit引用

而且还会生成两个包,Test,AndroidTest


包位置
Test androidTest
位于src/tests目录下的测试是运行在本地电脑Java虚拟机上的单元测试。编写测试,实现功能使测试通过,然后再添加更多的测试…这种工作方式使快速迭代成为可能,我们称之为测试驱动开发, 跟src/test不同的是运行在设备上,并充分利用Android框架的测试

简单说就是:test不需要你连接设备,而androidTest需要连接设备测试。

编写测试代码

准备好了我们就需要编写我们的测试代码了,我了解的也不是很多,现在给大家传的一个计算工具类:

/**
 * author: ZhouLei .
 * date:   On 2018/7/25 0025.
 * 位置放在Test包下
 */

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;
    }
}

写好工具类了,就需要测试我们的工具类计算的是否准确,现在我们右击我们工具类名 :选择Create New Test


操作步骤1
操作步骤2
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;//导入所有包,下方测试方法里用到,也可单独导入

/**
 * author: ZhouLei .
 * date:   On 2018/7/25 0025.
 */
public class CalculatorTest {
    public 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);
    }

}

这样我们的测试类就写好了,然后类的左侧可以点击运行,也可以单独运行每个方法。非常简便。

总结

1.单元测试,可以用来测试我们的工具类,逻辑不是那么复杂
2.可以用来测试我们的功能函数,如果一个函数复杂到无法单测,那就说明模块的抽象有问题
3.你是不是有时候会有这样的麻烦呢,自己写好代码要测试还要运行,还要点进去某个功能模块。那还等什么赶紧动手试试吧。

相关文章

  • 你为什么要用单元测试

    前言:开发小白,做开发这么久今天才第一次知道了“单元测试”,而这篇文章也算是开始。想要学习更多。 单元测试是什么,...

  • Android单元测试之Mockito

    在博客Android单元测试之JUnit4中,我们简单地介绍了:什么是单元测试,为什么要用单元测试,并展示了一个简...

  • Android单元测试(一)

    这章就先来说说android中单元测试的操作,简单走一遍单元测试的流程。为什么要用到单元测试呢,一般开发谁会写单元...

  • Android单元测试

    1、为什么要用单元测试呢? 从最基本的说起。假设我们有这样一个类 如果不用单元测试的话估计要这么写测试代码了 最后...

  • swift 单元测试1

    swift 单元测试1 1、为什么要进行单元测试? 答:单元测试是为了避免你的app变成充满bug的软件,让我们在...

  • 聊聊单元测试

    本篇主要是聊一聊以下几个方面的内容: 为什么要单元测试 单元测试框架 单元测试的好处 单元测试与重构 1. 为什么...

  • nodejs mock数据 单元测试

    nodejs 单元测试 nodejs koa 框架实现Java 中mock+junit类似的单元测试。 需要用到的...

  • Android单元测试 - 如何开始?

    回顾: 《谈谈为什么写单元测试》 基本单元测试框架 Java单元测试框架:Junit、Mockito、Powerm...

  • Mockito快速入门

    为什么单元测试要用Mock? 首先添加maven依赖 然后为了使代码更简洁,最好在测试类中导入静态资源 1.简单的...

  • Unit Testing

    Unit Test What 什么是单元测试 Why 为什么要做单元测试 How 怎么做单元测试 What is ...

网友评论

      本文标题:你为什么要用单元测试

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