对Android中的Java代码进行单元测试(一)

对Android中的Java代码进行单元测试(一)

一个app完成后都会需要测试,所以今天我们来了解下单元测试!!!

第一步:首先来看下我们的Java有什么包

第一个包为com.example.one,它主要是用来写布局逻辑一些代码的编辑等

第二个包为com.example.zyl.one(androidText)与第三个包com.example.zyl.one(text)才是我们今天的重点!

第二个包与第三个包都是都是关于测试的包!但区别在于第二个是主要用于测试UI的组件的包。
而第三个包测试的是纯JAVA代码!而今天我们主要学习的就是如何测试纯JAVA代码。

第二步:新建一个Java类,类名为Calculate.

并对其进行编辑,下面来一个简单的小测试

public class Calculate {//四个方法
 
    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;//返回的是double类型的

    }
 }

第三步:在第三个包中新建一个测试类,又击Calculate(类名)选中它后会有一个下拉菜如图所示

选择第二个Creatu New Text,因为我已经新建过一个测试类了...

此时弹出一个对话框,选中我们刚刚写的四个方法


单击OK之后便可以在我们的第三个包中看到有CalculateTest类了

第四步:对CalculateTest页面进行编辑

  public class CalculateTest {

    private Calculate calculate;//首先来定义一个类

    @Before
    public void setUp() throws Exception {

   
        calculate=new Calculate(); //对其进行实例化

    }

     下面有四个方法就是我们在Calculate页面中写的四个方法

      assertEquals断言 这是应用非常广泛的一个断言,它的作用是比较实际的值和用户预期的值是否一样

    @Test
    public void textSum() throws Exception {

      6代表的是sum(1d,5d)中的两数相加和
      d代表的是double类型(返回值类型)

        assertEquals(6d,calculate.sum(1d,5d),0);

    }

    @Test
    public void textSubstract() throws Exception {

      9代表的是substract(19d,10d中的两数相减的差
     d代表的是double类型(返回值类型)
      下面一样的了...
     assertEquals(9d,calculate.substract(19d,10d),0);

    }

    @Test
    public void textDivide() throws Exception {

        assertEquals(6d,calculate.divide(36,6),0);

    }

    @Test
    public void textMultiply() throws Exception {

        assertEquals(36d,calculate.multiply(6d,6d),0);

    }

 }

最后写完之后我们来进行运行下

看到了吗?此时会出现一行绿色,说明我们写的正确才会在测试时显示绿条来!那反之呢?

现在我们在Calculate的页面中来改下测试数据

 public double sum(double a,double b){
        return a-b;//将原本的“+”改为“-”
    }

此时再来运行下

看报红了,原因是什么呢?这时可以双击一下蓝色字体便跳到出错的地方来

 @Test
    public void textSum() throws Exception {

       //此时就变成了两数相减了(1-5=-4了)不是我想要的6,所以出错了

        assertEquals(6d,calculate.sum(1d,5d),0);//这里是相加的6是我们想要的值,但我们在Calculate的页面中将它改为了“-”
   

    }

今天到这就结束了!希望有所帮助~

原文地址:https://www.cnblogs.com/zyl222/p/6561187.html