首页 > 编程语言 >Java开发学习(三十八)----SpringBoot整合junit

Java开发学习(三十八)----SpringBoot整合junit

时间:2022-10-18 07:44:06浏览次数:69  
标签:Java SpringBoot BookService public ---- save class itheima

先来回顾下 Spring 整合 junit

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class UserServiceTest {
    
    @Autowired
    private BookService bookService;
    
    @Test
    public void testSave(){
        bookService.save();
    }
}

使用 @RunWith 注解指定运行器,使用 @ContextConfiguration 注解来指定配置类或者配置文件。而 SpringBoot 整合 junit 特别简单,分为以下三步完成

  • 在测试类上添加 SpringBootTest 注解

  • 使用 @Autowired 注入要测试的资源

  • 定义测试方法进行测试

一、环境准备

创建一个名为 springboot_07_testSpringBoot 工程,,参考Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析,工程目录结构如下

com.itheima.service 下创建 BookService 接口,内容如下

public interface BookService {
    public void save();
}

com.itheima.service.impl 包写创建一个 BookServiceImpl 类,使其实现 BookService 接口,内容如下

@Service
public class BookServiceImpl implements BookService {
    @Override
    public void save() {
        System.out.println("book service is running ...");
    }
}

二、编写测试类

test/java 下创建 com.itheima 包,在该包下创建测试类,将 BookService 注入到该测试类中

@SpringBootTest
class Springboot07TestApplicationTests {
​
    @Autowired
    private BookService bookService;
​
    @Test
    public void save() {
        bookService.save();
    }
}

注意:这里的引导类所在包必须是测试类所在包及其子包。

例如:

  • 引导类所在包是 com.itheima

  • 测试类所在包是 com.itheima

如果不满足这个要求的话,就需要在使用 @SpringBootTest 注解时,使用 classes 属性指定引导类的字节码对象。如 @SpringBootTest(classes = Springboot07TestApplication.class)

 

标签:Java,SpringBoot,BookService,public,----,save,class,itheima
From: https://www.cnblogs.com/xiaoyh/p/16468153.html

相关文章

  • 测试杂谈——一条SQL引发的思考(二)
    在前段时间,曾写过一篇关于SQL问题的文章,测试杂谈——一条SQL引发的思考(一)。今天这篇,算是个问题记录吧,问题并不复杂,但对于测试同学而言,确实是个需要关注的点。问题分析最......
  • Java笔记
    一、Java简述1.Java历史Java是美国Sun公司在1995年推出的一门计算机高级编程语言(更接近人类自然语言)。它初期叫做Oak(橡树),但是注册商标的时候发现已经有人注册......
  • babyscan
    babyscanI/IIbabyscanI:原题有给源码:#include<ctype.h>#include<stdio.h>#include<stdlib.h>#include<unistd.h>intmain(){charsize[16],fmt[8],*......
  • 从自动驾驶芯片谈起
    从自动驾驶芯片谈起参考文献链接https://c.m.163.com/news/a/HJSNLS6T05528FMI.html?spss=newsapp&spsnuid=SvQAdJMQepxYymtpwzN1KYK6zaMPhSYoB81ym5ICBqc%3D&spsdevid=7......
  • github 上的vscode vim配置
    settins.json{ //Vim "vim.autoSwitchInputMethod.defaultIM":"normal", "vim.cursorStylePerMode.replace":"underline-thin", "vim.easymotion":true, "vim.ea......
  • 自己电脑上的vscode vim配置
    setting.json//vscode的vim配置"vim.easymotion":true,"vim.incsearch":true,"vim.leader":"<space>","vim.useSystemClipboard":true,"vim.useCtr......
  • vue3+vite 使用defineAsyncComponent动态异步引入组件出错时的解决办法
    constname='c1'constcurrentComponent=shallowRef()constcomponents=import.meta.glob("./a/*.vue");currentComponent.value=defineAsyncComponent(compon......
  • test34-文件输入输出序列化和反序列化 msgpack map用法
    #!/usr/bin/envpython#-*-encoding:utf-8-*-'''importcsvheaders=['学号','姓名','分数']rows=[('202001','张三','98'),('202002','李四','95'),('202003&......
  • JVM面试基础
    JVM包含JVM面试入门必知.一.概述1.JDK,JRE,JVM关系JDK:JavaDevelopmentKits,Java开发工具包,包括JRE和Java开发辅助工具;JRE:JavaRuntimeEnvironment,J......
  • ashui
    #CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONTENT#CONT......