我有一个 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);
}