测试是测试你的 [代码逻辑] 。跟数据库完全隔离的
var obj = new SomeObj() ;
when(mockDb.findByParentId(any())).thenReturn(obj);
business.logic(something);
Mockito.verify(rpc.call(),times(1));
doThing().when(mockDb.findByParentId(any());
business.logic(something);
Mockito.verify(rpc.call(),nvner());
这种测试可以保证你的 business.logic 的逻辑
至于你的 dao 层需要去断言 sql 写的是否正确 这种测试除非把业务写进 sql 里才需要去测试
var query = JpaQueryFactory.select(*).from(tableA).where(tableA.name.equals("actualField");
String expected = "select * from tableA where
tableA.name = "actualField";
Assertions.assertEquals(expected,query.toString());