• 对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的页面中将它改为了“-”
       
    
        }
    

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

  • 相关阅读:
    卷积神经网络
    自适应学习率调整:AdaDelta
    协同过滤推荐算法总结
    深入FM和FFM原理与实践
    一些关于量化交易的书籍清单(转)
    矩阵分解在协同过滤推荐算法中的应用
    交替最小二乘ALS
    Mocha的单元测试实战
    Fis3前端工程化之项目实战
    Fis3的前端工程化之路[三大特性篇之声明依赖]
  • 原文地址:https://www.cnblogs.com/zyl222/p/6561187.html
Copyright © 2020-2023  润新知