Springboot中Junit测试为何未成功插入数据库数据?

2026-05-26 09:171阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计526个文字,预计阅读时间需要3分钟。

Springboot中Junit测试为何未成功插入数据库数据?

从编写Junit开始,作者便有一个疑问:为什么执行插入测试方法成功,但数据库中没有对应的数据,如何进行测试呢?今天查阅了资料,找到了原因:

1. Junit测试原理

2.Spring Boot中使用Junit编写单元测试

从写Junit开始笔者就有一个疑问,为什么执行插入测试方法成功了但是数据库里却没有对应数据,那怎么测试的呢?今天查阅了资料找到了原因

1.Junit测试原理

springboot中使用junit编写单元测试默认是事物回滚的,这样测试的脏数据不影响数据库,即实际上是执行了对应的插入操作,但是完成操作后执行了事务回滚操作,从而数据库中没有对应数据。

2.关闭自动事务回滚

在对应的测试方法上添加@Rollback(false)关闭回滚。

补充知识:Spring Boot Junit无法执行问题汇总

Spring Boot Junit无法执行问题汇总如下:

测试方法必须是public
在测试方法上要有@Test注解
测试方法不能用static静态修饰
测试方法不能有返回值
测试方法不能有参数
测试类所在文件夹必须为源文件夹source files,如果不是,选择 ‘Build path' -> ‘Use as a source folder'。
测试类是否继承TestCase,如果是,删除继承
如果在类上执行junit run单元测试报错:unable to find a @SpringBootConfiguration

Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

无法找到@SpringBootConfiguration,您需要在测试中使用@ContextConfiguration或@SpringBootTest(classes=…)

问题产生的几种情况:

1.启动类 或者 程序入口类的包名和测试类所在包名不一致

例如:

启动类:com.youpackage下的启动类

测试类:com.youpackage.test下的测试类,“.test”多余

Springboot中Junit测试为何未成功插入数据库数据?

2.程序入口类忘了添加:SpringBootApplication注解

以上这篇Springboot使用Junit测试没有插入数据的原因就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计526个文字,预计阅读时间需要3分钟。

Springboot中Junit测试为何未成功插入数据库数据?

从编写Junit开始,作者便有一个疑问:为什么执行插入测试方法成功,但数据库中没有对应的数据,如何进行测试呢?今天查阅了资料,找到了原因:

1. Junit测试原理

2.Spring Boot中使用Junit编写单元测试

从写Junit开始笔者就有一个疑问,为什么执行插入测试方法成功了但是数据库里却没有对应数据,那怎么测试的呢?今天查阅了资料找到了原因

1.Junit测试原理

springboot中使用junit编写单元测试默认是事物回滚的,这样测试的脏数据不影响数据库,即实际上是执行了对应的插入操作,但是完成操作后执行了事务回滚操作,从而数据库中没有对应数据。

2.关闭自动事务回滚

在对应的测试方法上添加@Rollback(false)关闭回滚。

补充知识:Spring Boot Junit无法执行问题汇总

Spring Boot Junit无法执行问题汇总如下:

测试方法必须是public
在测试方法上要有@Test注解
测试方法不能用static静态修饰
测试方法不能有返回值
测试方法不能有参数
测试类所在文件夹必须为源文件夹source files,如果不是,选择 ‘Build path' -> ‘Use as a source folder'。
测试类是否继承TestCase,如果是,删除继承
如果在类上执行junit run单元测试报错:unable to find a @SpringBootConfiguration

Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

无法找到@SpringBootConfiguration,您需要在测试中使用@ContextConfiguration或@SpringBootTest(classes=…)

问题产生的几种情况:

1.启动类 或者 程序入口类的包名和测试类所在包名不一致

例如:

启动类:com.youpackage下的启动类

测试类:com.youpackage.test下的测试类,“.test”多余

Springboot中Junit测试为何未成功插入数据库数据?

2.程序入口类忘了添加:SpringBootApplication注解

以上这篇Springboot使用Junit测试没有插入数据的原因就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。