老师好,我在测试productService的AddProduct方法时,junit报错“net.coobird.thumbnailator.tasks.UnsupportedFormatException: No suitable ImageReader found for source data.”但是最后junit测试通过了。 然而通过查看数据库,我发现在数据库tb_product中,生成了两条数据,只有img_addr的值不同。在经过查看生成文件后发现,这两条新增的数据中,第一条数据的img_addr并不存在,文件夹中只有符合第二条数据img_addr值的文件,以及两个子图片文件。我认为应该是程序试图创建第一个product图片时没有找到合适的图片处理器,所以报了异常。但是在重试过程中不知道为什么又成功的解析了图片文件,后又创建了两个子文件,由于创建图片最终都为成功,所以通过了junit的测试。
现在问题来了
1.为什么会出现这种问题?(先提示没有合适的图片解析器,但在后续运行的程序中又找到了合适的图片解析器,并生成了所有应有的图片)。
2.程序不是有报错回滚的么?为什么这条数据还是被创建并存储到数据库中了呢?
我已经尝试过的解决方法
最开始发现这个报错,我以为是我的testAddProduct方法写错了。所以我使用了老师的代码,替换了图片文件地址和图片文件名称。还是相同的报错。
SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需
了解课程