2016-04-22 4 views
1

Я использую JUnit для тестирования своих служб Spring, но у меня возникают проблемы с закрытием соединения с моим HSQLDB между тестами. Я установил атрибут destroy-method в bean-компоненте методу закрытия моего источника данных, но он все равно остается заблокированным даже при закрытии контейнера.JUnit Spring - HSQLDB не закрывает тесты efter

Нечеткое дело в том, что это происходит только в моем тестовом классе JUnit, а не в моем клиенте. На моем клиенте контейнер закрывается, когда я называю его методом close.

Я также предоставил метод @AfterClass в тесте JUnit, но это тоже не помогает.

Любая идея?

+0

его вероятность того, что контекст persistence отсутствует в тесте junit. какой бегун вы используете (аннотация @RunWith)? если его весна, какую конфигурацию контекста вы загружаете для теста? можете ли вы предоставить свой код? – diarmuid

+0

Я довольно новичок в Spring, и я следую за курсом Spring Fundamentals по VirtualPairProgrammers. Поэтому я просто знаю основные JUnit и базовую весну. Код работает, но база данных просто не закрывается между тестами, что делает некоторые из тестов несколько неудобными. Мой источник данных - dbcp, и я использую JDBC. Если это то, о чем вы просили? – Lithicas

+0

можете ли вы опубликовать или связать класс junit? – diarmuid

ответ

0

Что делает ваш тест Junit с HSQLDB для модульного теста? Является ли он добавлением новой записи в HSQLDB или любым видом обновления/удаления, требующим фиксации БД? Убедитесь, что вы устанавливаете autocommit = значение true и выполняете операцию DML без фиксации или откат.

+0

Он добавляет и удаляет из базы данных. Я также беру данные из БД в некоторых тестах. – Lithicas

+0

Как я уже говорил, проверьте, выполняете ли вы операции с autocommit = false, и вы не выполняете операцию commit() в своем модульном тесте. Если вы не уверены, находитесь ли вы в автономном режиме или нет, просто вызовите commit() на каждом конце вставки/обновления/удаления БД (или вызовите commit() в функции, где @ После добавления комментариев). – wonhee

Смежные вопросы