我有一个JUnit测试,其中包括使用Mybatis。在测试开始时,我正在检索表中的记录数。
在测试结束时,我希望表中还有一条记录,并有一个断言来验证这种情况。但是我发现第二个查询返回的记录数与第一个查询完全相同。
我知道表中肯定插入了新记录。
我认为这可能与缓存有关,所以我尝试刷新与会话相关的所有缓存。我也尝试使用setCacheEnabled(false)
,但结果仍然相同。
这是我的代码片段 -
@Test
public void config_0_9() {
session.getConfiguration().setCacheEnabled(false);
cfgMapper = session.getMapper(CfgMapper.class);
int oldRecords = cfgMapper.countByExample(null);
messageReprocessor.processSuspendedMessages();
session.commit();
int newRecords = cfgMapper.countByExample(null);
assertTrue(newRecords == oldRecords + 1);
}