1

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

0 回答 0