美文网首页
JUnit单元测试的简单知识要点

JUnit单元测试的简单知识要点

作者: Google教徒 | 来源:发表于2017-02-16 11:53 被阅读68次

1:JUnit

1):Android Studio 自带,无须构建添加
2):目前仅限于单一功能测试,如计算、验证等

3)关键标签

  • @Before = 构建测试实体类。
  • @Test = 表明该方法属于测试方法
  • @After = 当测试类完成后执行的方法标签。在测试当中,有可能读取一些文字资源、设置图像(Bitmap)、SQLlst等等,当在@Before创建实体对象后,需要在@After标签方法内关闭资源,释放资源。

4):代码

//假设我单一测试一个类下面一个简单计算方法
public class Calculator {

   public int add(int one , int two){
       return one + two;
    }
}

//然后,我们需要在Modle/src/text/java文件夹下面见了一个单元测试类

//单元测试类
public class CalculatorTest {
    Calculator calculator;//创建一个我们需要测试的类对象

    //利用@Before创建Calculator  测试对象
    @Before
    public void setUp(){
        calculator = new Calculator();
    }

    @Test
    public void testAdd() throws IllegalFormatException{
         int sum = calculator.add(4,2);
        Assert.assertEquals(6,sum);//下面说明
    }
}
Assert.assertEquals(value,value)方法说明
方法参数第一是代表你要测试的方法正确结果,比如我上面的方法要测试的加法是否等于6,那么我把计算出来的正确结果作为第一参数穿进去,那么第二个参数就很简单了,是实际计算结果。

好了,咱们测试一下正确结果:

cs.png

把光标放在测试方法后面,右键点击Run testAdd(),可以看到正确结果:

s.png

然后再来看看错误的反馈,Assert.assertEquals(0,sum)把第一个正确结果改成0

er.png

可以看到,结果是报错,并且告诉了你参数的结果,证明测试参数失败。

Assert.assertEquals()介绍

更多的时候,上面介绍简单的Assert.assertEquals()方法并不能满足我们的需求, 然而,并不是!
下面介绍一些其他用法:

//验证expected的值跟actual是一样的,如果是一样的话,测试通过,不然的话,测试失败。如果传入的是object,那么这里的对比用的是equals()
assertEquals(expected, actual)

//这里传入的expected和actual是float或double类型的,大家知道计算机表示浮点型数据都有一定的偏差,所以哪怕理论上他们是相等的,但是用计算机表示出来则可能不是,所以这里运行传入一个偏差值。如果两个数的差异在这个偏差值之内,则测试通过,否者测试失败。
assertEquals(expected, actual, tolerance)

//验证contidion的值是true
assertTrue(boolean condition)

//验证contidion的值是false
assertFalse(boolean condition)

//验证obj的值是null
assertNull(Object obj)

//验证obj的值不是null
assertNotNull(Object obj)

//验证expected和actual是同一个对象,即指向同一个对象
assertSame(expected, actual)

//验证expected和actual不是同一个对象,即指向不同的对象
assertNotSame(expected, actual)

#值得注意的是,上面所有方法都可以加一个参数,如:
 Assert.assertEquals("计算错误!",0,sum);
#很简单,可以用一个字符串类型传进去,如果结果不符合检测结果,便会通知错误,参照下面图片
字符串参数.png

好,相关基础知识就先介绍到这里。
待我有时间会逐步完善,这只是简单的第一步~

相关文章

  • JUnit单元测试的简单知识要点

    1:JUnit 1):Android Studio 自带,无须构建添加2):目前仅限于单一功能测试,如计算、验证等...

  • Junit基本使用

    用Junit做单元测试非常简单。 1.最近的junit依赖地址,也可以引入环境自带的Junit4的依赖包。 2.通...

  • 3/26day19_JUnit单元测试_NIO

    day19_JUnit单元测试_NIO 复习 今日内容 Junit单元测试[重点] 单元测试概念 什么叫单元测试单...

  • JUnit单元测试打进jar包(eclipse)

    一、编写JUnit单元测试类 在src/main/test目录下编写Junit单元测试类。 二、编写运行JUnit...

  • Spring boot 编写单元测试的流程

    编写单元测试,需要用到Junit,spring 集成了Junit的工具包,因此,测试变得比较简单。一个简单的测试程...

  • Instrumentation

    1、Instrumentation单元测试框架,基于Junit;Junit是java单元测试根本 2、想要进行自动...

  • JUnit4.12入门实践

    内容概要: 为什么要做单元测试 JUnit简介 单元测试规范 JUnit4常用注解 JUnit4异常和超时测试 J...

  • 单元测试框架:Robolectric

    前言 前面我们介绍了单元测试框架 JUnit 和 Mockito 的使用(详情查看:单元测试框架:JUnit,单元...

  • unittest用法

    unittest 是python的单元测试框架,类似 java的 junit ,TestNG ,用法简单,可用做单...

  • [转] 使用强大的 Mockito 测试框架来测试你的代码

    1. 预备知识 如果需要往下学习,你需要先理解 Junit 框架中的单元测试。 如果你不熟悉 JUnit,请查看下...

网友评论

      本文标题:JUnit单元测试的简单知识要点

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