Junit单元测试

## 测试分类

黑盒测试,白盒测试

黑盒测试,不需要写代码,给输入值,看程序是否能够输出期望的值

白盒测试,需要写代码的,关注程序的具体执行流程

Junit使用

是白盒测试

    ### 步骤

#### 1,定义一个测试类(测试用例)
建议:
• 测试类名:被测试的类名Test

• 包名:xxx.xxx.xx.test
        #### 2,定义测试方法:最好可以独立运行
建议:
方法名:test测试的方法名
返回值:viod
参数:空参
        #### 3,建议加@Test注释(加这个得加上junit依赖)
    #### 4,判断结果,

控制台 红的失败

绿的成功。

这里的话,一般用断言操作来处理

代码:

Assert.assertEquals(期望结果,运算结果)
public class Junit {
public long add(long a , long b){
    return a+b;
}
}


public class Test1 {
@Test
public void yunsuan(){

    ---->这里 Assert.assertEquals(4, new Junit().add(1, 2));

}
}
控制台结果:

java.lang.AssertionError:
预期:4
实际:3
<点击以查看差异>

两个注解

初始化方法:

用于所有资源申请,所以测试方法在执行前都会先执行该方法

加上注解

@Before

释放资源的方法:

在所有测试方法执行完后,都会自动执行该方法

加上注解

@After

反正就是

先在测试方法(Test注解)前执行有Before注解方法,在测试方法(Test注解)后执行After注解的方法

这些都是自动执行的

提醒:

用其他方法调用测试方法的时候,测试方法就是普通方法。

在直接编码时,所有测试方法都会走一遍,来个例子吧

public class Test1 {
int b=0;
  static Test1 t=new Test1();
   
  public long add(long a , long b){
      return a+b;
  }
  public long jianfa(long a , long b){
      return a-b;
  }
  public long chengfa(long a ,long b){
      return a*b;
  }

   
  @Before
  public void before(){
      System.out.println("我先执行,算个1-1的减法吧:1-1="+t.jianfa(1,1));
  }
   
  @Test
  public void yunsuan(){
      System.out.println("测试第一次加法对不对:2是否等于1+2:"+(2==t.add(1,2)));
      b++;
      if (b!=10){
          t.yunsuan2();
      }
  }
   
  @Test
  public void yunsuan2(){
      System.out.println("测试第二次加法对不对:2是否等于1+1:"+(2==t.add(1,1)));
      b++;
      if (b<=20){
          t.yunsuan();
      }

  }
  @After
  public void after(){
      System.out.println("我最后执行个2*3的乘法:2*3="+t.chengfa(2,3));
  }


}

以上代码会把@Test1跑完,再跑@Test2,运算结果会是这样

Junti单元测试的更多相关文章

  1. Spring框架的第三天

    ## Spring框架的第三天 ## ---------- **课程回顾:Spring框架第二天** 1. IOC的注解方式 * @Value * @Resource(name="" ...

  2. Intellij idea添加单元测试工具

    1.idea 版本是14.0.0 ,默认带有Junit,但是不能自动生成单元测试,需要下载JunitGererator2.0插件 2.Settings -Plugins,下载 JunitGenerat ...

  3. Python的单元测试(二)

    title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...

  4. Python的单元测试(一)

    title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...

  5. javascript单元测试框架mochajs详解

    关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...

  6. 使用NUnit为游戏项目编写高质量单元测试的思考

    0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...

  7. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  8. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  9. python_单元测试unittest

    Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...

随机推荐

  1. printf-库函数重定向、重载

    重定向:这是针对标准C语言语法来讲,指的是我们可以重新声明库函数并定义库函数的执行体 重载:这是CPP引入的新特性,即根据函数不同参数个数或参数类型来对同一函数名进行不同定义 C和CPP对重定向处理机 ...

  2. 大数据技术之HBase原理与实战归纳分享-下

    @ 目录 整合Phoenix 定义 为何要使用 安装 SHELL操作 表的映射 简易JDBC示例 二级索引 二级索引配置文件 全局索引 包含索引 本地索引(local index) HBase与 Hi ...

  3. 【杂谈】2021-CSP退役记

    Part1:复赛前一周 感觉复赛来的好快...... 我还没 颓够 准备好就来了QAQ 根据模拟赛 爆零 的光辉事迹,这次复赛我特别慌,虽然但是还是不想复习 但无所谓了,复赛一下子就只剩一天了 Par ...

  4. Vue3 SFC 和 TSX 方式调用子组件中的函数

    在开发中会遇到这样的需求:获取子组件的引用,并调用子组件中定义的方法.如封装了一个表单组件,在父组件中需要调用这个表单组件的引用,并调用这个表单组件的校验表单函数或重置表单函数.要实现这个功能,首先要 ...

  5. java中获取当前执行线程的名称

    Thread.currentThread().getName()

  6. 学生管理系统(C语言简单实现)

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2.实训目的及要求 3. 源码 4.实验小结 1 .实训名称 实训12:文件 2. ...

  7. 关于针对XSS漏洞攻击防范的一些思考

    众所周知,XSS几乎在最常见.危害最大的WEB漏洞.针对这个危害,我们应该怎么防范呢. 下面简单说一下思路. 作者:轻轻的烟雾(z281099678) 一.XSS漏洞是什么 XSS漏洞网上的资料太多, ...

  8. python求列表均值,方差,标准差

    import numpy as np a = [1,2,3,4,5,6] #求均值 a_mean = np.mean(a) #求方差 a_var = np.var(a) #求标准差 a_std = n ...

  9. 上传数据、下载模板文件解决方案(前端:antd;后端:.Net Core WebAPI)

    一.Excel 模板下载 通过静态文件下载. 将模板文件放在根目录的 public 文件夹下备用. 下载事件方法如下:(通过临时生成一个 a 标签,触发后再移除) downLoadExcelModel ...

  10. 浅谈ORM-对象关系映射

    目前.NET(C#)中比较流行的ORM框架: SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framew ...