JunitJunit.Jupiter.api用法区别写在了文章的总结处,这里先简单的介绍一下Junit用法。

Junit 5 = Junit Platform + Junit Jupiter + Junit Vintage

Junit4中的@Test是import org.junit.Test;
Jupiter中的@Test是import org.junit.jupiter.api.Test;

Junit用法

  • 开发步骤

    • ①引入spring-test依赖

    • ②定义单元测试类

  • ①引入spring-test依赖

<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.3.8</version>
</dependency>
  • ②定义单元测试类写法一

使用xml写配置文件

Junit测试类代码1

//1.加载Spring容器@ContextConfiguration(locations = "classpath:spring-core.xml")//1.1,根据spring-core.xml加载spring容器
@RunWith(SpringJUnit4ClassRunner.class)//1.2, 由spring容器运行当前的单元测试类
public class Annotation2Test {@Autowired//2.获取user对象private User user;@Testpublic void test2() {System.out.println("user = " + user);}}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--扫描注解--><context:component-scan base-package="com.lzc"></context:component-scan><!--加载user.properties--><context:property-placeholder location="user.properties"></context:property-placeholder></beans>

②定义单元测试类写法二

不使用xml,使用注解编写配置类

Junit测试类代码2

@ContextConfiguration(classes = SpringServiceConfiguration.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class CustomerServiceTest {@Autowiredprivate CustomerService customerService;@Testpublic void findAll() throws Exception {List<Customer> customerList = customerService.findAll();System.out.println("customerList = " + customerList);}
/*** 主配置类*/
@Configuration
@ComponentScan("com.atguigu")
@Import(SpringDaoConfiguration.class)
public class SpringServiceConfiguration {
}

Junit.Jupiter.api用法

@SpringBootTest
public class EsTest {@Autowiredprivate ProductRepository productRepository;/*** 创建、更新文档* 文档ID不存在,则创建文档* 文档ID存在,则删除原文档,创建新文档*/@Testpublic void create() {Product product = new Product("2", "衬衫2", 200.9);Product save = productRepository.save(product);System.out.println("save = " + save);}/*** 查询所有*/@Testpublic void get() {Iterable<Product> all = productRepository.findAll();for (Product product : all) {System.out.println(product);}}/*** 根据文档ID查询*/@Testpublic void getById(){Optional<Product> optional = productRepository.findById("2");Product product = optional.get(); //获取查询到的文档数据System.out.println("product = " + product);}/*** 删除文档* 不论文档ID存在与否,方法都会正常执行结束*/@Testpublic void deleteById(){productRepository.deleteById("123");System.out.println("删除执行完成......");}
}

Junit和Junit.Jupiter.api用法区别的总结:

我们从上面的代码可以看出,Junit和Junit.Jupiter.api用法区别

在导入@Test的Class时候,我们可以看到JunitJunit.Jupiter.api两个选项。

Junit4中的@Test是import org.junit.Test;
Jupiter中的@Test是import org.junit.jupiter.api.Test;

在测试类中@Test导入了Junit.Jupiter.api的Class文件后,我们就不需要再加上@RunWith注解了。

Junit和Junit.Jupiter.api用法区别相关推荐

  1. gradle junit5_JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目

    gradle junit5 Selenium是一组支持浏览器自动化的工具和库,主要用于Web应用程序测试. Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有 ...

  2. JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目

    Selenium是一组支持浏览器自动化的工具和库,主要用于Web应用程序测试. Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有线协议(与浏览器驱动程序进行 ...

  3. c语言中 char怎样用,C语言中char*和char[]用法区别分析

    C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...

  4. JavaEE基础(02):Servlet核心API用法详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.核心API简介 1.Servlet执行流程 Servlet是JavaWeb的三大组件之一(Servlet.Filter.Listener) ...

  5. QVector、QList、QLinkedList类用法区别

    QVector.QList.QLinkedList类用法区别 1. QVector 是提供动态数组的一个模板类. QList 是提供列表的一个模板类. QLinkedList 是提供链表的一个模板类. ...

  6. TensorFlow Keras API用法

    TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...

  7. jquery中this与$(this)的用法区别.

    2019独角兽企业重金招聘Python工程师标准>>> jquery中this与$(this)的用法区别.先看以下代码: $("#textbox").hover( ...

  8. Java中PreparedStatement和Statement的用法区别

    Java中PreparedStatement和Statement的用法区别 (2012-08-01 11:06:44) 转载▼ 标签: 杂谈   1. PreparedStatement接口继承Sta ...

  9. toString()与new String ()用法区别

    toString()与new String ()用法区别 TestString.java package com.atguigu;import com.sun.org.apache.xerces.in ...

最新文章

  1. BCH区块链上启动新应用程序Chainfeed
  2. AJAX省市县三级联动的实现
  3. Python+Opencv实现实时的条形码检测
  4. Variant 数组
  5. 多线程中对全局变量(整型类型)是否需要同步操作
  6. C语言SetConsoleCursorPosition()函数来定位光标位置
  7. 教你给视频画面打马赛克
  8. 没有对象怎么面向对象编程呢?真让人头秃!
  9. 沈师 Java程序设计 PTA 填空题、程序填空题答案
  10. Android中@GuardedBy
  11. 企业级网络性能优化 课内7 多臂单臂路由
  12. 在数组中插入一个数字
  13. 配置iis解析php
  14. Barbalat引理与类李雅普诺夫引理,及它们在自适应控制系统设计的应用
  15. 二十三、python中操作MySQL步骤
  16. 计算机英语短语与习惯用法词典,清华大学出版社-图书详情-《计算机英语短语与习惯用法词典》...
  17. [C语言源代码][数据存储+指针] 谁还不会司空震?给我冲!
  18. Effect Java
  19. 相机和镜头选择时的一些参数
  20. 高频小信号谐振放大器【Multisim】【高频电子线路】

热门文章

  1. Uni-app 微信小程序头像上传
  2. soot数据流 -- 基于soot的过程内数据流分析
  3. 基于C#进行AutoCAD二次开发初探(一)——调用dll库
  4. Pag——腾讯自创动效
  5. 谷歌云请更正这张卡片的信息_如何在Android的Google键盘上改进自动更正
  6. FPGA信号处理系列文章——FIR半带插值滤波器-1个时钟2个采样点的优化处理
  7. 使用jmeter进行APP端(安卓手机)脚本录制
  8. 对部分行业进行一轮“瞎扯淡”
  9. java爬虫-0022,模拟登录
  10. linux gdb添加符号表,gdb – 什么是符号表,它如何集成到可执行文件中?