【spring boot】10.spring boot下的单元测试

简介: spring boot下的单元测试,思前想后还是需要单独用一章篇幅来看看。然后在看了介绍和使用时候,我感觉并不想多去看了。但是还是给后来人留下参考的路径:官网说明:https://spring.io/blog/2016/04/15/testing-improvements-in-spring-...

spring boot下的单元测试,思前想后还是需要单独用一章篇幅来看看。

然后在看了介绍和使用时候,我感觉并不想多去看了。

但是还是给后来人留下参考的路径:

官网说明:https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4【看了这篇说明,下面的问题2即可迎刃而解】

完整例子使用单元测试:https://segmentfault.com/a/1190000011420910【看了这个之后,你就打消了要把它看完的念头,当然测试人员除外,因为这简直就是测试人员的福音】

 

==============================================================================================

解释一下为什么作为开发人员,我放弃了这一篇。

  1.原本在开发过程中仅使用junit的@Test()注解,仅作为一部分功能或者部分代码所实现效果的测试,不用重启项目,也不用加载整个项目;效果快,效率快,代价较小;

  2.现在spring-boot中的这部分单元测试,需要启动整个项目去加载所有的要注入的bean和资源文件,而实现的测试功能与启动项目之后去访问浏览器进入controller执行效果基本一致;代价大,速度慢;

  3.目前接触的项目,启动都很费劲。

==============================================================================================

这里有几个碰到的问题:

 

问题1:新建一个类之后,引入@RunWith()注解死活找不到的原因

解答:

  这个问题很坑,因为你创建的这个类是在main下而不是在test下,所以不能使用@RunWith()注解,标注这个类为测试类!!

 

 

问题2:@SpringApplicationConfiguration(启动类.class)这个注解死活找不到

解答:

  这个注解在1.4就被替换了,而我自己使用的spring-boot版本是1.5.8,现在使用@SpringBootTest即可替换这个注解。

   

上面这两个注解,就可以实现单元测试的基本功能了。

 

相关文章
|
25天前
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
134 2
|
5天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
17 2
|
28天前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
36 1
|
1月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
56 2
|
1月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
90 1
|
1月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
26 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
1月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
91 0
|
6月前
|
XML 安全 Java
深入实践springboot实战 蓄势待发 我不是雷锋 我是知识搬运工
springboot,说白了就是一个集合了功能的大类库,包括springMVC,spring,spring data,spring security等等,并且提供了很多和可以和其他常用框架,插件完美整合的接口(只能说是一些常用框架,基本在github上能排上名次的都有完美整合,但如果是自己写的一个框架就无法实现快速整合)。
|
3月前
|
缓存 Java Maven
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
|
6月前
|
Java 数据安全/隐私保护
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
320 1