Я пытаюсь заполнить таблицу базы данных DBUnit в рамках тестового теста Spring. Источником данных является TransactionAwareDataSourceProxy. Итак, я бы дал этому источнику DBUnit, и после этого заполнение таблицы должно быть видимым для запроса jdbcTemplate?Изменения DBUnit не отображаются внутри транзакции Весенний тест
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"many contexts"})
@TransactionConfiguration(transactionManager = "transactionManager")
@Transactional
public class DBTest {
@Autowired(required = true)
TransactionAwareDataSourceProxy dataSource;
private JdbcTemplate jdbcTemplate;
@Autowired(required = true)
public void setJdbcTemplate(TransactionAwareDataSourceProxy dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@Autowired(required = true)
SessionFactory sessionFactory;
@Test
@Transactional
public void test() throws Exception {
IDatabaseConnection dbConn = new DatabaseDataSourceConnection(dataSource);
DatabaseOperation.CLEAN_INSERT.execute(dbConn, new XmlDataSet(ClassLoader.getSystemResourceAsStream("TABLE.xml")));
System.out.println("Es wurden gefunden : " + this.jdbcTemplate.queryForInt("select count(*) from TABLE"));
System.out.println("blaaa");
}
Запрос всегда возвращает 0. Что мне не хватает?
Звучит неплохо, ошибка исправлена! :-) – Jeff