У меня есть набор тестов для spring-security 3.1.3 со встроенным сервером ldap, который правильно работает из eclipse или при запуске через gradle с параметром -Dtest.single. Однако, когда я делаю чистую сборку для запуска всего набора тестов в проекте, выполнение зависает в точке, где оно попадает в эти тесты, и в этот момент я должен убить процесс градиента. Если я @Ignore тесты ldap, другие тесты работают нормально. Эти тесты работают правильно, если я не использую встроенный сервер, т.е. подключаюсь к внешнему серверу. Вероятно, это связано с тем, что gradle выполняет многопоточные тесты и пытается разместить сервер в памяти и все такое.
Кто-нибудь сталкивался с подобными проблемами? и как я могу получить более полезную информацию о том, что может происходить? --info или --debug в gradle не помогает, и отчеты о тестировании (например, те, которые создаются в случае нормального сбоя теста) также не генерируются в случае уничтожения процесса gradle.
тесты gradle зависают для весенних тестов безопасности со встроенным сервером ldap
Ответы (1)
Вероятно, вам нужно установить maxParallelForks
в 1.
Почему бы вам не скопировать подход, используемый самой Spring Security, который настраивает отдельная задача для интеграционных тестов? Он устанавливает maxParallelForks
в 1 для этих тестов.
Таким образом, вы можете продолжать получать выгоду от параллельного запуска модульных тестов.
person
Shaun the Sheep
schedule
28.01.2013
Значение maxParallelForks по умолчанию равно 1, и я не переопределил это значение, однако проблема, похоже, заключается в том, что тестовый поток не имеет памяти enuf, в этом случае помогла настройка jvmArgs для тестовых задач.
- person redzedi; 29.01.2013