[已解决]低版本springboot Junit单元测试无法注入 Bean 的问题

本文介绍了在使用低版本Springboot(1.5.13 Release)时遇到的Junit单元测试无法注入Bean的问题。问题特征包括测试运行时无启动日志,需要单独引入Junit依赖。问题的常见原因是版本不兼容,高版本Junit与低版本Springboot不匹配。解决方法是避免单独引入Junit依赖,因为Springboot通常已经包含了合适的Junit版本。
摘要由CSDN通过智能技术生成

低版本springboot 单元测试无法注入 Bean 的问题

版本

  1. Springboot: 1.5.13 Release
  2. Spring-cloud :Edgware.SR3

Junit 版本不兼容导致的问题特征

  1. 单元测试无法注入bean
  2. 测试用例 运行时,没有出现 Springboot 启动的界面(即打印的日志)
  3. IDEA 提示 @Test 需要单独 引入 Junit 的Maven 依赖

常见问题发生场景

Springboot版本更改多次,最后采取较低版本,最后为了不报错,单独引入不适配的、较高版本的Junit。由于 Junit4 与 Junit5 的调用是不同的,因此会导致 无法启动 SpringBoot ,自然也就无法 注入想要的Bean

解决方法

  1. 不需要(删除)单独引入 Junit 的依赖,一般 springboot 已经自带了 Junit 的依赖,如果单独引入可能会覆盖自带的Junit

低版本Junit单元测试写法

@Sprin
为在Spring Boot中进行JUnit5的单元测试,你需要在测试类上使用@SpringBootTest注解。这个注解会加载整个Spring应用程序上下文,以便你可以使用Spring的功能和特性。一个简单的示例是这样的: ```java @SpringBootTest class MyUnitTest { // 测试方法 @Test void myTest() { // 测试逻辑 } } ``` 在测试方法中,你可以使用@Autowired注解来注入依赖的bean,并使用@Transactional注解标记方法以支持事务管理。@Transactional注解可以确保在测试完成后自动回滚,以保持测试的独立性。 与JUnit4相比,JUnit5是Spring Boot 2.2.0版本及以上的默认单元测试库。因此,如果你使用的是最新版本的Spring Boot,你应该使用JUnit5来编写你的单元测试。 在系统环境方面,你需要确保你的Java版本是8及以上,Maven版本是3.3及以上,以及使用IDEA作为开发工具。当你创建一个Maven项目时,你需要导入spring-boot-starter-test依赖来使用单元测试的场景。如果你使用的是Spring Initializr创建的项目,它将自动引入单元测试的依赖,你不需要手动添加。 这是使用JUnit5进行Spring Boot单元测试的一般步骤。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JUnit5单元测试(基于SpringBoot)](https://blog.csdn.net/maogenb/article/details/124459093)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值