老师你好,我觉得你的4-5节的关于只有runtimeexception才能回滚的测试有点问题
来源:4-5 店铺注册之Service层的实现
qq_泪梦红尘_3
2017-12-22
.我在IDEA中是没法实现的,会报错..您的测试是这样的,抛出exception,然后发现没有导致回滚.其实,您的代码是捕获了exception的,您在catch块里又抛出了exception,我觉得这里是不是就把这个异常吞掉了,而没有抛出呢?才导致没有回滚.我在IDEA中敲这个代码,发现会报错,
shopOperationException是继承自exception的
写回答
1回答
-
翔仔
2017-12-22
同学好,非常抱歉这两周要回老家办事,只能通过手机回复。现在查不到资料翔仔也不太确定。同学可以帮忙测试一下,然后告诉下翔仔结果:) 即可以这样,在@Transactional标签的方法里 先往数据库插入信息 判断如果插入成功 在成功的if里加入1/0,这个会抛runtimeexception。然后看看会不会回滚,即方法执行成功后显示插入成功但是数据并没有真正插入到数据库里。
之后再注释掉1/0 然后改成new file(输入一个不存在的文件路径),这样会抛非runtime exception 然后再做同样的验证。辛苦同学啦,这方面当时由于要讲的知识点太多确实没有做太深入了解,希望同学能理解,赞同学的深入挖掘能力062017-12-22
相似问题