тесты gradle зависают для весенних тестов безопасности со встроенным сервером ldap

У меня есть набор тестов для spring-security 3.1.3 со встроенным сервером ldap, который правильно работает из eclipse или при запуске через gradle с параметром -Dtest.single. Однако, когда я делаю чистую сборку для запуска всего набора тестов в проекте, выполнение зависает в точке, где оно попадает в эти тесты, и в этот момент я должен убить процесс градиента. Если я @Ignore тесты ldap, другие тесты работают нормально. Эти тесты работают правильно, если я не использую встроенный сервер, т.е. подключаюсь к внешнему серверу. Вероятно, это связано с тем, что gradle выполняет многопоточные тесты и пытается разместить сервер в памяти и все такое.
Кто-нибудь сталкивался с подобными проблемами? и как я могу получить более полезную информацию о том, что может происходить? --info или --debug в gradle не помогает, и отчеты о тестировании (например, те, которые создаются в случае нормального сбоя теста) также не генерируются в случае уничтожения процесса gradle.


person redzedi    schedule 28.01.2013    source источник


Ответы (1)


Вероятно, вам нужно установить maxParallelForks в 1.

Почему бы вам не скопировать подход, используемый самой Spring Security, который настраивает отдельная задача для интеграционных тестов? Он устанавливает maxParallelForks в 1 для этих тестов.

Таким образом, вы можете продолжать получать выгоду от параллельного запуска модульных тестов.

person Shaun the Sheep    schedule 28.01.2013
comment
Значение maxParallelForks по умолчанию равно 1, и я не переопределил это значение, однако проблема, похоже, заключается в том, что тестовый поток не имеет памяти enuf, в этом случае помогла настройка jvmArgs для тестовых задач. - person redzedi; 29.01.2013