很奇怪,起初不知道为何一次@Insert
会对数据库进行两次插入操作
因为代码十分简单,一共只有十几行,肯定不会觉得是自己写错了
之后找了很长一段时间资料,最后发现了三种解决这个bug的方法
@Test
public void MapperInsertTest() {
Product product = new Product(null,"7fccaf","4a8cc","bd100","9hd1");
productMapperInsert.insert(product);
// 获得商品ID
Integer productId = product.getId();
System.out.println(product);
System.out.println(productId);
// 添加订单信息
Order order = new Order(null,"17cn1podf11",productId,8,7,
"d025","vom1a", LocalDateTime.now(),
"caf","ef0c7e", (short) 4);
// 这里发生了报错
orderMapperInsert.insert(order);
System.out.println(order);
}
解决方法一:关闭将IDE构建/运行委托给Maven
不推荐这个方法,idea会提示找不到包依赖
解决方法二:勾选跳过测试
解决方法三:使用mvn -test
(test生命周期)
最后发现只有点测试类前的小按钮才会报错,如果直接用mvn -test
则会产生正确的测试结果
使用mvn -test发现测试结果正确