Параллельное изменение Исключение после настройки всех тестовых проектов для параллельной работы SpringBoot и junit - PullRequest
0 голосов
/ 14 февраля 2020

Выполнение всех тестов java занимает так много времени, чтобы завершить sh.

Таким образом, решение состоит в том, чтобы запустить все тесты параллельно, используя несколько потоков, для запуска функций, использующих @RunWith(ParallelSuite.class) во всех классах.

Но проблема в том, что при параллельном запуске некоторых функций используются одни и те же ресурсы. Так что выбрасывает ConcurrentModificationException. Решением является установка этих функций и запуск их последовательно.

Как изолировать некоторые функции для последовательной работы после настройки всех тестов junit в проекте весенней загрузки для параллельной работы с использованием ParallelSuite, в противном случае есть какое-либо другое решение для этого.

1 Ответ

0 голосов
/ 14 февраля 2020

Используйте synchronized для функций, которые должны быть доступны по одному потоку за раз, или вы можете сделать это в одной функции, используя:

void runSync() {
    synchronized (this) {
        count = count + 1;
    }
}

Возможно, вам также следует прочитать this .

...