Я не вижу оснований для придерживаний 3.x версии. Большинство инструментов было совместимо с 4.x некоторое время теперь. Единственная причина, которой я придерживался бы 3.x, находится в среде java 1.4 (потому что нет никакого другого пути).
Между прочим, знаток переключается на Java 5 в 2,1, таким образом, существует шанс, они предложат junit 4.x
JUnit 4 имеет много преимуществ перед 3.x. Самое важное - то, что Вы больше не должны расширять TestCase, и при этом Ваши методы тестирования не должны начинаться с "теста". Это все основано на аннотации теперь. Можно также добавить Hamcrest matchers, который дает Вам действительно хороший и выразительный способ записать тестовые утверждения.
Если Вы застреваете на pre-Java-1.5 проекте, Вам, вероятно, придется придерживаться JUnit 3.x, все же.
Существуют некоторые причины JUnit 4.x и некоторые против него.
Профессионалы:
Недостатки:
Я использую JUnit 4, потому что это более хорошо, но это - мое личное мнение.
Муравей не отвечает на JUnit 3.
Я рекомендовал бы переместиться в новый JUnit по простой причине, что Вы собираетесь видеть все больше инструментов и примеров, которые являются JUnit4 только. Придерживаться JUnit3 означает жить в истощающейся экосистеме.
У знатока нет явной привязки к Junit 3.81. Можно переключиться на любую версию junit, который Вы хотите. Если Вы выполняете java 5, я думаю, что необходимо переключиться по крайней мере на 4,4 Spring 2.5, не совместимо с 4,5.
И Муравей и Знаток могут запустить тесты JUnit 4 очень хорошо. Единственными причинами использовать JUnit 3 являются унаследованные системы: Или Вы - сила для использования предварительного Java 5 JDK, или у Вас есть обширные инструменты, которые зависят от JUnit 3 и не поддерживают JUnit 4.