为什么spring-roo生成的集成测试没有更新我的表

时间:2015-09-22 07:09:22

标签: hibernate postgresql spring-roo

我是Spring-roo的新手,我按照10分钟的教程,尝试测试这个例子。我使用PostgreSQL作为我的数据库,我可以在运行生成的集成测试后创建表,但我不明白为什么在测试期间没有任何内容写入这些表。我看到hibernate_sequence在每次测试后都已经改变了,我确定连接没问题,我只是不知道是什么样的魔术弹簧已经做了什么来阻止测试更新表格,这对于测试来说可能是件好事,但我只是不明白哪个片段做了神奇。

@Test
public void testPersist() {
    Assert.assertNotNull("Data on demand for 'Credential' failed to initialize correctly", dod.getRandomCredential());
    Credential obj = dod.getNewTransientCredential(Integer.MAX_VALUE);
    Assert.assertNotNull("Data on demand for 'Credential' failed to provide a new transient entity", obj);
    Assert.assertNull("Expected 'Credential' identifier to be null", obj.getId());
    try {
        obj.persist();
    } catch (final ConstraintViolationException e) {
        final StringBuilder msg = new StringBuilder();
        for (Iterator<ConstraintViolation<?>> iter = e.getConstraintViolations().iterator(); iter.hasNext();) {
            final ConstraintViolation<?> cv = iter.next();
            msg.append("[").append(cv.getRootBean().getClass().getName()).append(".").append(cv.getPropertyPath()).append(": ").append(cv.getMessage()).append(" (invalid value = ").append(cv.getInvalidValue()).append(")").append("]");
        }
        throw new IllegalStateException(msg.toString(), e);
    }
    obj.flush();
    Assert.assertNotNull("Expected 'Credential' identifier to no longer be null", obj.getId());
}

我看到obj正在刷新,但表中没有找到任何内容,请帮忙。

0 个答案:

没有答案