时间:2021-05-20
从写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”多余
2.程序入口类忘了添加:SpringBootApplication注解
以上这篇Springboot使用Junit测试没有插入数据的原因就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
springboot中使用junit编写单元测试,并且测试结果不影响数据库。pom引入依赖如果是IDE生成的项目,该包已经默认引入。org.springfram
使用Junit或者TestNG可以进行单体测试,这篇文章简单说明一下如何在Springboot的项目中使用Junit进行单体测试。pom设定pom中需要添加sp
在我们在myeclips里使用junit测试工具时有时会遇到错误,这是什么原因呢?导致问题的原因通常有下面几个:(1)没有导入jar包(2)导入jar包版本太低
问题:1、目前测试存在的问题2、Junit注意的细节3、Junit使用规范4、断言5、案例junit(单元测试框架)1、目前存在的问题1、目前的测试方法如果需要
项目开发过程中使用的单元测试框架有Junit、TestNG以及Mockito,Junit和TestNG使用的比较多,Mockito最近才开始使用。TestNG与