Я пишу, чтобы попытаться инициировать небольшую дискуссию, касающуюся тестирования Spring Unit и, в частности, транзакционных модульных тестов.
В настоящее время у нас есть около 441 теста в различных классах, помеченных так:
@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration
@ContextConfiguration(locations={"/context/ServiceTest-context.xml"}, inheritLocations=false)
public class ServiceTests extends AbstractTransactionalJUnit4SpringContextTests {
@Test
public void testSomething() {}
@Test
public void testSomethingElse() {}
}
Каждый из наших классов тестов имеет свой собственный контекст теста.
Мы столкнулись с проблемой, при которой при запуске отдельных классов тестирования или отдельных пакетов тесты выполняются нормально.
Однако, когда мы хотим увеличить его, чтобы запустить ВСЕ наши тесты (в настоящее время> 400), используя maven или что-то подобное, например, интеграцию Hudson.
mvn test
Мы подошли к точке и затем начали испытывать ошибки превышения лимита GC Java.
Теперь у меня возникает ощущение, что это связано с разработкой нашего плана тестирования, а не с необходимостью увеличить пределы памяти или отключить предупреждения.
Может кто-нибудь поделиться своим опытом и тем, как они решили подобную проблему?
Яйцо