Мне интересно, как я могу ускорить свои юнит-тесты. Я использую JUnit, и перед каждым тестом я удаляю схему базы данных, а затем воссоздаю ее. Поскольку моя схема несколько большая, это может занять довольно много времени, учитывая, что у меня более 1000 тестов.
Чтобы вы поняли мои настройки:
Spring 3 hibernate3.LocalSessionFactoryBean, использующий диалект HSQL.
Я использую бегунок JUnit's Suite для запуска списка классов.
Я заметил, что у Spring есть SpringJunit4ClassRunner, который понимает аннотацию Transaction, но не аннотации пакета. Я обошёл эту проблему, и теперь предпринимаются попытки откатов, но они, кажется, вызывают бесконечную рекурсию, которая приводит к StackOverflow.
Я относительно новичок в Spring, и все это волшебство, но мне было просто интересно, есть ли у кого-нибудь какие-либо идеи относительно StackOverflow или каких-либо других идей по ускорению тестирования?
Может быть, я мог бы записать в файл чистое состояние БД и постоянно обновлять его после каждого теста, хотя я не уверен, возможно ли это.
Заранее спасибо.