SpringBoot 单元测试JUnit的使用详解

 更新时间:2019年11月12日 09:36:01   作者:码农云帆哥  
这篇文章主要介绍了SpringBoot 单元测试JUnit的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、简介

JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试。

白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人 员是公开的;

回归测试:软件或环境修复或更正后的再测试;

单元测试:最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节;

二、JUnit使用

1、pom.xml中添加JUnit依赖。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>

2、简单代码

@RunWith(SpringRunner.class)
@SpringBootTest
public class JUnitTest {

  @Test
  public void test() {
    System.out.println(("----- method test ------"));
    String name = "yunfan";
    Assert.assertEquals("yunfan22", name);
  }
}

在测试类中运行项目:

很明显这是测试不通过的效果,如果是通过的呢,看下图:

3、注解说明

注解 释义
@RunWith 标识为JUnit的运行环境。
@SpringBootTest 获取启动类、加载配置,确定装载Spring Boot。
@Test 声明需要测试的方法。
@BeforeClass 针对所有测试,只执行一次,且必须为static void。
@AfterClass 针对所有测试,只执行一次,且必须为static void。
@Before 每个测试方法前都会执行的方法。
@After 每个测试方法前都会执行的方法。
@Ignore 忽略方法。

4、超时测试

@Test(timeout = 1000)

5、断言测试

断言测试也就是期望值测试,是单元测试的核心也就是决定测试结果的表达式。

方法 释义
Assert.assertEquals 对比两个值相等
Assert.assertNotEquals 对比两个值不相等
Assert.assertSame 对比两个对象的引用相等
Assert.assertArrayEquals 对比两个数组相等
Assert.assertTrue 验证返回是否为真
Assert.assertFlase 验证返回是否为假
Assert.assertNull 验证null
Assert.assertNotNull 验证非null

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java实现从jar包中读取指定文件的方法

    Java实现从jar包中读取指定文件的方法

    这篇文章主要介绍了Java实现从jar包中读取指定文件的方法,涉及java针对jar文件的读取及查找相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • java并发编程死锁定义及如何避免死锁

    java并发编程死锁定义及如何避免死锁

    这篇文章主要为大家介绍了java并发编程中死锁的详细说明及如何避免死锁的方法,有需要的朋友可以借鉴参考下希望能够有所帮助,祝大家多多进步
    2022-02-02
  • Java实现的矩阵乘法示例

    Java实现的矩阵乘法示例

    这篇文章主要介绍了Java实现的矩阵乘法,简单描述了矩阵乘法的原理,并结合实例形式分析了java实现矩阵乘法的相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • InterProcessMutex实现zookeeper分布式锁原理

    InterProcessMutex实现zookeeper分布式锁原理

    本文主要介绍了InterProcessMutex实现zookeeper分布式锁原理,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • mybatis-plus生成mapper扩展文件的方法

    mybatis-plus生成mapper扩展文件的方法

    这篇文章主要介绍了mybatis-plus生成mapper扩展文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java中Stream流的使用示例详解

    Java中Stream流的使用示例详解

    Stream流提供了一种高效且易于使用的方式来对数据进行过滤、映射、排序、聚合等操作,使代码更加简洁和可读,接下来通过本文给大家介绍Java中Stream流的使用,感兴趣的朋友跟随小编一起看看吧
    2025-08-08
  • Java中Integer方法实例详解

    Java中Integer方法实例详解

    这篇文章主要给大家介绍了关于Java中Integer方法的相关资料,Java中的Integer是int的包装类型,文中通过代码实例介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

    SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

    本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-09-09
  • MyBatis高级映射和查询缓存

    MyBatis高级映射和查询缓存

    这篇文章主要介绍了MyBatis高级映射和查询缓存的相关资料,需要的朋友可以参考下
    2016-06-06
  • 基于JAVA每月运势api调用代码实例

    基于JAVA每月运势api调用代码实例

    这篇文章主要为大家详细介绍了JAVA每月运势api调用代码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09

最新评论