тесты? 2. Муравьиная среда выходит за рамки (perTest также разветвляется). 3. System.gc () может быть вызван неявно ...
ел бы сократить время, необходимое нашей сборке (используя ant) для запуска тестов. В настоящее время я использую по умолчаниюforkMode
, которыйразвивает новый vm на каждом тестовом классе (perTest
).
Я думаю о переходе наforkMode="once"
но яне уверен, если это будет пара тестов каким-то образом и, возможно, дать мне ложноположительные и / или ложноположительные результаты после выполнения моих тестов.
Вопросов:
Будет ли каждый тестовый набор получать новый ClassLoader так что все статические ссылки из предыдущих прогонов больше не доступны / не видны?
Здесьдругие вещи которые приводят к тестовой зависимости / соединению тестовых методов, которые могут изменить поведение (помимо загрузки собственной библиотеки, которую я не использую)
Как насчет сбора / завершения сборки мусора, они запускаются после каждого теста? (Я не полагаюсь на них, но я просто хочу получить полную картину)
ОБНОВИТЬ
Согласно текущим ответам, при использовании forkMode кажется, что junit всегда разделяет один загрузчик классов между всеми тестовыми сценариями на vm / fork. (так что forkMode = "Once" действительно означает, что для всех тестов существует один загрузчик классов)
Это имеет много преимуществ (более быстрые тесты и может привести к сбою тестов из-за статической связи), но также имеет ряд недостатков (статическая связь, которая будет работать только при использовании разделяемого загрузчика классов -> ложное срабатывание)